Converter para o Delta Lake

O comando SQL CONVERT TO DELTA executa uma conversão avulsa para tabelas Parquet e Iceberg em tabelas do Delta Lake. Para conversão incremental de tabelas Parquet ou Iceberg no Delta Lake, confira Clonar incrementalmente tabelas Parquet e Iceberg no Delta Lake.

O Catálogo do Unity dá suporte ao comando SQL CONVERT TO DELTA para tabelas Parquet e Iceberg armazenadas em locais externos gerenciados pelo Catálogo do Unity.

Você pode configurar arquivos de dados Parquet existentes como tabelas externas no Catálogo do Unity e convertê-los para o Delta Lake a fim de obter acesso a todos os recursos do Databricks lakehouse.

Para obter a documentação técnica, consulte CONVERT TO DELTA.

Converter um diretório de arquivos Parquet ou Iceberg em um local externo para o Delta Lake

Observação

  • A conversão de tabelas Iceberg está em Visualização Pública.
  • Há suporte para conversão de tabelas Iceberg no Databricks Runtime 10.4 e superior.
  • Não há suporte para a conversão de tabelas do metastore do Iceberg.
  • Não há suporte para a conversão de tabelas Iceberg que experimentaram a evolução da partição.
  • Não há suporte para a conversão de tabelas Iceberg merge-on-read que experimentaram atualizações, exclusões ou mesclagens.
  • Veja a seguir as limitações para converter tabelas iceberg com partições definidas em colunas truncadas:
    • No Databricks Runtime 12.2 LTS e abaixo, o único tipo de coluna truncada com suporte é string.
    • No Databricks Runtime 13.3 LTS e superior, você pode trabalhar com colunas truncadas de tipos string, long, ou int.
    • O Azure Databricks não dá suporte ao trabalho com colunas truncadas do tipo decimal.

Você pode converter um diretório de arquivos de dados Parquet em uma tabela do Delta Lake, desde que tenha acesso de gravação no local de armazenamento. Para obter informações sobre como configurar o acesso com o Catálogo do Unity, confira Conectar-se ao armazenamento de objetos de nuvem usando o Catálogo do Unity.

Observação

O Catálogo do Unity requer o Azure Data Lake Storage Gen2.

CONVERT TO DELTA parquet.`abfss://container@storageAccount.dfs.core.windows.net/parquet-data`;

CONVERT TO DELTA iceberg.`abfss://container@storageAccount.dfs.core.windows.net/iceberg-data`;

Para carregar tabelas convertidas como tabelas externas no Catálogo do Unity, você precisa de permissões CREATE TABLES no local externo.

Observação

Para o Databricks Runtime 11.3 LTS e superior, CONVERT TO DELTA infere automaticamente informações de particionamento para tabelas registradas no metastore, eliminando a necessidade de especificar partições manualmente.

Converter tabelas gerenciadas e externas para o Delta Lake no Catálogo do Unity

O Catálogo do Unity dá suporte a muitos formatos para tabelas externas, mas dá suporte somente ao Delta Lake para tabelas gerenciadas. Para converter uma tabela Parquet gerenciada diretamente em uma tabela Delta Lake do Catálogo do Unity gerenciada, confira Atualizar uma tabela para gerenciada no Catálogo do Unity.

Para atualizar uma tabela Parquet externa no Catálogo do Unity, consulte Atualizar uma tabela externa no Catálogo do Unity.

Depois de registrar uma tabela Parquet externa no Catálogo do Unity, você pode convertê-la em uma tabela externa do Delta Lake. Observe que você deve fornecer informações de particionamento se a tabela Parquet for particionada.

CONVERT TO DELTA catalog_name.database_name.table_name;

CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);