Converta para Delta Lake
O CONVERT TO DELTA
comando SQL executa uma conversão única para tabelas Parquet e Iceberg em tabelas Delta Lake. Para conversão incremental de tabelas Parquet ou Iceberg para Delta Lake, consulte Incrementally clone Parquet and Iceberg tables to Delta Lake.
O Unity Catalog suporta o CONVERT TO DELTA
comando SQL para tabelas Parquet e Iceberg armazenadas em locais externos gerenciados pelo Unity Catalog.
Você pode configurar arquivos de dados existentes do Parquet como tabelas externas no Unity Catalog e, em seguida, convertê-los em Delta Lake para desbloquear todos os recursos do Databricks lakehouse.
Para obter a documentação técnica, consulte CONVERT TO DELTA.
Convertendo um diretório de arquivos Parquet ou Iceberg em um local externo para Delta Lake
Nota
- A conversão de tabelas Iceberg está em Visualização Pública.
- A conversão de tabelas Iceberg é suportada no Databricks Runtime 10.4 LTS e superior.
- Não há suporte para a conversão de tabelas de metastore do Iceberg.
- Não há suporte para a conversão de tabelas Iceberg que sofreram evolução de partição.
- Não há suporte para a conversão de tabelas de mesclagem em leitura do Iceberg que sofreram atualizações, exclusões ou mesclagens.
- A seguir estão as limitações para converter tabelas Iceberg com partições definidas em colunas truncadas:
- No Databricks Runtime 12.2 LTS e inferior, o único tipo de coluna truncada suportado é
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 suporta trabalhar com colunas truncadas do tipo
decimal
.
- No Databricks Runtime 12.2 LTS e inferior, o único tipo de coluna truncada suportado é
Você pode converter um diretório de arquivos de dados do Parquet em uma tabela Delta Lake, desde que tenha acesso de gravação no local de armazenamento. Para obter informações sobre como configurar o acesso com o Unity Catalog, consulte Conectar-se ao armazenamento e serviços de objetos na nuvem usando o Unity Catalog.
Nota
O Catálogo 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 para o Catálogo Unity, você precisa da CREATE EXTERNAL TABLE
permissão no local externo.
Nota
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 Unity Catalog.
Convertendo tabelas gerenciadas e externas para Delta Lake no Unity Catalog
CONVERT TO DELTA
só pode ser usada para criar tabelas externas do Unity Catalog. Use uma CTAS
instrução para converter uma tabela Parquet gerenciada pelo metastore herdada do Hive diretamente em uma tabela Delta Lake gerenciada do Unity Catalog, consulte Atualizar uma tabela do Hive para uma tabela gerenciada pelo Unity Catalog usando CREATE TABLE AS SELECT.
Para atualizar uma tabela Parquet externa para uma tabela externa do Unity Catalog, consulte Atualizar uma única tabela Hive para uma tabela externa do Unity Catalog usando o assistente de atualização.
Depois de registrar uma tabela Parquet externa no Unity Catalog, você pode convertê-la em uma tabela Delta Lake externa. Você deve fornecer informações de particionamento se a tabela Parquet estiver particionada.
CONVERT TO DELTA catalog_name.database_name.table_name;
CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);