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 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, longou int.
    • O Azure Databricks não suporta trabalhar com colunas truncadas do tipo decimal.

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 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 no Unity Catalog, você precisa de CREATE TABLES permissões 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, eliminando a necessidade de especificar partições manualmente.

Convertendo tabelas gerenciadas e externas para Delta Lake no Unity Catalog

O Unity Catalog suporta muitos formatos para tabelas externas, mas suporta apenas Delta Lake para tabelas gerenciadas. Para converter uma tabela gerenciada do Parquet diretamente em uma tabela gerenciada do Unity Catalog Delta Lake, consulte Atualizar uma tabela gerenciada do Hive para uma tabela gerenciada do Unity Catalog usando CLONE.

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. Observe que 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);