Converter para Delta Lake

O comando CONVERT TO DELTA SQL realiza uma conversão única das tabelas Parquet e Iceberg em tabelas Delta Lake. Para conversão incremental de tabelas Parquet ou Iceberg em Delta Lake, consulte Clonagem incremental de tabelas Parquet e Iceberg em 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.

O senhor pode configurar os arquivos de dados existentes em Parquet como tabelas externas em 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.

Conversão de 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.

  • A conversão de tabelas Iceberg é compatível com Databricks Runtime 10.4 LTS e acima.

  • Não há suporte para a conversão de tabelas de metastore 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 Iceberg merge-on-read que sofreram atualizações, exclusões ou mesclagem.

  • A seguir, as limitações para a conversão de 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.

    • O Databricks não suporta o trabalho com colunas truncadas do tipo decimal.

O senhor 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 Unity Catalog, consulte Conectar-se ao serviço e armazenamento de objetos cloud usando 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 no Unity Catalog, o senhor precisa da permissão CREATE EXTERNAL TABLE no local externo.

Observação

Para Databricks Runtime 11.3 LTS e acima, CONVERT TO DELTA infere automaticamente informações de particionamento para tabelas registradas no Hive metastore. O senhor deve fornecer informações de particionamento para Unity Catalog tabelas externas.

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

CONVERT TO DELTA só pode ser usada para criar tabelas externas do Unity Catalog. Use uma CTAS Hive metastore instrução para converter uma Parquet tabela gerenciar herdada diretamente para uma Unity Catalog Delta Lake tabela gerenciar , consulte Atualizar uma Hive tabela para uma Unity Catalog tabela gerenciar usando AS SELECT CREATE TABLE .

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, o senhor pode convertê-la em uma tabela Delta Lake externa. O senhor 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);