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 LTS 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 dos tipos
string
,long
ouint
. - O Azure Databricks não dá suporte ao trabalho com colunas truncadas do tipo
decimal
.
- No Databricks Runtime 12.2 LTS e abaixo, o único tipo de coluna truncada com suporte é
Você pode converter um diretório de arquivos de dados do 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, consulte Conectar-se ao armazenamento de objetos na 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 da permissão CREATE EXTERNAL TABLE
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 do Hive. Você deve fornecer informações de particionamento para tabelas externas do Catálogo do Unity.
Converter tabelas gerenciadas e externas para o Delta Lake no Catálogo do Unity
A sintaxe CONVERT TO DELTA
só pode ser usada para criar tabelas externas do Catálogo do Unity. Use uma instrução CTAS
para converter uma tabela Parquet gerenciada de um metastore do Hive herdado diretamente em uma tabela Delta Lake do Catálogo do Unity gerenciada, confira Atualizar uma tabela do Hive para uma tabela gerenciada do Catálogo do Unity usando CREATE TABLE AS SELECT.
Para atualizar uma tabela Parquet externa para uma tabela externa do Catálogo do Unity, confira Atualizar uma tabela individual do Hive para uma tabela externa do Catálogo do Unity usando o assistente de atualização.
Depois de registrar uma tabela Parquet externa no Catálogo do Unity, você pode convertê-la em uma tabela externa do Delta Lake. 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);