---
title: "Apache Parquet block format | Grafana Tempo documentation"
description: "Learn about Parquet block format in Tempo."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# Apache Parquet block format

Tempo has a default columnar block format based on Apache Parquet. This format is required for tags-based search as well as [TraceQL](../../traceql/), the query language for traces. The columnar block format improves search performance and enables an ecosystem of tools, including [Tempo CLI](/docs/tempo/latest/operations/tempo_cli/#analyse-blocks), to access the underlying trace data.

For more information, refer to [Issue 4694](https://github.com/grafana/tempo/issues/4694).

## Considerations

The Parquet block format is enabled by default since Tempo 2.0.

If you install using the [Tempo Helm charts](/docs/tempo/latest/setup/helm-chart/), then Parquet is enabled by default. No data conversion or upgrade process is necessary. As soon as a block format is enabled, Tempo starts writing data in that format, leaving existing data as-is.

Block formats based on Parquet require more CPU and memory resources than the previous `v2` format but provide search and TraceQL functionality.

## Choose a different block format

> Warning
> 
> `vParquet3` and `v2` have been deprecated and will be removed in Tempo 3.0. In order to cleanly migrate forward to Tempo 3.0 you will need `vParquet4` or higher blocks.

The default block format is `vParquet4`, which is the latest iteration of the Parquet-based columnar block format in Tempo. vParquet4 introduces columns that enable querying for data in array attributes as well as events and links. For more information, refer to [Dedicated attribute columns](/docs/tempo/latest/operations/dedicated_columns/).

You can still use the previous format `vParquet3`. To enable it, set the block version option to `vParquet3` in the [Storage section](/docs/tempo/latest/configuration/#storage) of the configuration file.

YAML ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```yaml
# block format version. options: vParquet4
[version: vParquet3]
```

In some cases, you may choose to disable Parquet and use the old `v2` block format. Using the `v2` block format disables all forms of search, but also reduces resource consumption, and may be desired for a high-throughput cluster that doesn’t need these capabilities. To make this change, set the block version option to `v2` in the Storage section of the configuration file.

YAML ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```yaml
# block format version. options: v2, vParquet3, vParquet4
[version: v2]
```

To re-enable the default `vParquet4` format, remove the block version option from the [Storage section](/docs/tempo/latest/configuration/#storage) of the configuration file or set the option to `vParquet4`.

## Parquet configuration parameters

Some parameters in the Tempo configuration are specific to Parquet. For more information, refer to the [storage configuration documentation](../#storage).

### Trace search parameters

These configuration options impact trace search.

Expand table

| Parameter                         | Default value | Description                                                                                                                                                                                                       |
|-----------------------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[read_buffer_size_bytes: <int>]` | 10485676      | Size of read buffers used when performing search on a vParquet block. This value times the read\_buffer\_count is the total amount of bytes used for buffering when performing search on a Parquet block.         |
| `[read_buffer_count: <int>]`      | 32            | Number of read buffers used when performing search on a vParquet block. This value times the read\_buffer\_size\_bytes is the total amount of bytes used for buffering when performing search on a Parquet block. |

The `cache_control` section contains the follow parameters for Parquet metadata objects:

Expand table

| Parameter                                  | Default value | Description                                    |
|--------------------------------------------|---------------|------------------------------------------------|
| `[footer: | default = false]`              | `false`       | Specifies if the footer should be cached       |
| `[column_index: <bool> | default = false]` | `false`       | Specifies if the column index should be cached |
| `[offset_index: <bool> | default = false]` | `false`       | Specifies if the offset index should be cached |
