Converter para Delta Lake

O comando SQL CONVERT TO DELTA 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 Clonar tabelas Parquet e Iceberg de forma incremental para Delta Lake.

O Unity Catalog suporta o comando SQL CONVERT TO DELTA para tabelas Parquet e Iceberg armazenadas em locais externos gerenciados pelo Unity Catalog.

Você pode configurar arquivos de dados Parquet existentes como tabelas externas no Unity Catalog e depois 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

Observação

  • A conversão de tabelas Iceberg está em Visualização pública.

  • A conversão de tabelas Iceberg tem suporte no Databricks Runtime 10.4e acima.

  • A conversão de tabelas metastore Iceberg não é suportada.

  • A conversão de tabelas Iceberg que sofreram evolução de partição não é suportada.

  • A conversão de tabelas Iceberg merge-on-read que sofreram atualizações, exclusões ou merge não é suportada.

  • A seguir estão as limitações para converter tabelas Iceberg com partições definidas em colunas truncadas:

    • Em Databricks Runtime 12.2 LTS e abaixo, o único tipo de coluna truncada suportado é string.

    • Em Databricks Runtime 13.3 LTS e acima, o senhor pode trabalhar com colunas truncadas dos tipos string, long ou int.

    • 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 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 clouds usando o Unity Catalog.

CONVERT TO DELTA parquet.`s3://my-bucket/parquet-data`;

CONVERT TO DELTA iceberg.`s3://my-bucket/iceberg-data`;

Para carregar tabelas convertidas como tabelas externas para o Unity Catalog, você precisa de permissões CREATE TABLES no local externo.

Observação

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

Conversão de tabelas gerenciais e externas para Delta Lake no Unity Catalog

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

Para atualizar uma tabela Parquet externa para Unity Catalog, consulte Atualizar uma única tabela externa para Unity Catalog.

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 de 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);