Pular para o conteúdo principal

Parquet v2

Disponível no Databricks Runtime 18.1 e acima, o Parquet v2 melhora o desempenho de consultas e reduz o armazenamento para tabelas Delta Lake e Apache Iceberg usando codificações avançadas, cabeçalhos de página de dados v2 e carimbos de data/hora INT64.

Como o Parquet v2 funciona

O Parquet v2 introduz melhorias no formato de arquivo de dados que reduzem o armazenamento e melhoram o desempenho de leitura:

  • Codificações avançadas : As colunas de número inteiro e de strings usam novas codificações com compactação e descodificação mais eficientes em comparação com as codificações usadas no Parquet v1.
  • **Cabeçalhos de página de dados V2**: estatísticas e índices de nível de página melhoram o pushdown de predicados e o salto de dados, reduzindo a quantidade de dados verificados no momento da consulta.
  • **Timestamps INT64**: INT64 Os timestamps substituem o INT96 timestamp legado, melhorando as estatísticas de coluna, e a codificação e compressão de timestamps.

Habilitar Parquet v2

O Databricks atualiza automaticamente as tabelas gerenciadas do Unity Catalog compatíveis para o Parquet v2. Consulte Atualizações automáticas.

Para habilitar o Parquet v2 manualmente, defina a propriedade da tabela parquet.format.version como 2.12.0 usando o prefixo apropriado para seu tipo de tabela. Antes de habilitar manualmente, revise as limitações.

Para habilitar o Parquet v2 em uma tabela existente:

SQL
ALTER TABLE <table_name> SET TBLPROPERTIES ('delta.parquet.format.version' = '2.12.0');

Para habilitar o Parquet v2 em uma nova tabela:

SQL
CREATE TABLE <table_name> (...)
TBLPROPERTIES ('delta.parquet.format.version' = '2.12.0');

Depois de definir a propriedade, todas as gravações subsequentes usam codificações v2. Arquivos Parquet v1 e v2 podem coexistir na mesma tabela. Os arquivos de dados existentes não são reescritos automaticamente. Para tabelas Delta Lake, para reescrever arquivos existentes para v2, use REORG TABLE no Databricks Runtime 18.2 e acima:

SQL
REORG TABLE <table_name> APPLY (SET PARQUET (FORMAT_VERSION = '2.12.0'));

Consulte a Referência de propriedades da tabela para a referência completa de propriedades da tabela.

Reverter para o Parquet v1

No Databricks Runtime 18.2 e acima, para reverter uma tabela individual para a codificação v1, execute REORG TABLE com a opção SET PARQUET:

SQL
REORG TABLE <table_name> APPLY (SET PARQUET (FORMAT_VERSION = '1.0.0'));

Este comando reescreve todos os arquivos de dados usando codificações v1 e Reset a propriedade da tabela delta.parquet.format.version para 1.0.0.

Consulte REORG TABLE para a sintaxe REORG TABLE completa.

Limitações

Parquet v2 apresenta as seguintes limitações:

  • Para mecanismos externos, alguns leitores do Apache Iceberg podem não oferecer suporte ao Parquet v2 para tabelas Iceberg. É necessário verificar se os leitores do Iceberg são compatíveis antes de habilitar o Parquet v2 em tabelas Iceberg.
  • Para OpenSharing, antes de ativar o Parquet v2, verifique se os clientes leitores para destinatários de OpenSharing suportam codificações Parquet v2.
  • Views materializadas e tabelas de transmissão não são atualizadas automaticamente para Parquet v2. É possível habilitar manualmente o Parquet v2 nesses tipos de tabela no Databricks Runtime 18.1 e acima.