Condividi tramite


Converti in Delta Lake

Il CONVERT TO DELTA comando SQL esegue una conversione una tantum per le tabelle Parquet e Iceberg in tabelle Delta Lake. Per la conversione incrementale delle tabelle Parquet o Iceberg in Delta Lake, vedere Clonare in modo incrementale tabelle Parquet e Iceberg in Delta Lake.

Unity Catalog supporta il CONVERT TO DELTA comando SQL per le tabelle Parquet e Iceberg archiviate in posizioni esterne gestite dal catalogo unity.

È possibile configurare i file di dati Parquet esistenti come tabelle esterne in Unity Catalog e quindi convertirli in Delta Lake per sbloccare tutte le funzionalità della databricks lakehouse.

Per la documentazione tecnica, vedere CONVERTI IN DELTA.

Conversione di una directory di file Parquet o Iceberg in una posizione esterna in Delta Lake

Nota

  • La conversione delle tabelle Iceberg è disponibile in anteprima pubblica.
  • La conversione delle tabelle Iceberg è supportata in Databricks Runtime 10.4 LTS e versioni successive.
  • La conversione delle tabelle metastore Iceberg non è supportata.
  • La conversione delle tabelle Iceberg con evoluzione delle partizioni non è supportata.
  • La conversione di tabelle di merge di Iceberg in lettura con aggiornamenti, eliminazioni o merge non è supportata.
  • Di seguito sono riportate le limitazioni per la conversione di tabelle Iceberg con partizioni definite in colonne troncate:
    • In Databricks Runtime 12.2 LTS e versioni successive l'unico tipo di colonna troncato supportato è string.
    • In Databricks Runtime 13.3 LTS e versioni successive è possibile usare colonne troncate di tipi string, longo int.
    • Azure Databricks non supporta l'uso di colonne troncate di tipo decimal.

È possibile convertire una directory di file di dati Parquet in una tabella Delta Lake purché si disponga dell'accesso in scrittura nel percorso di archiviazione. Per informazioni sulla configurazione dell'accesso con il catalogo unity, vedere Connettersi all'archiviazione di oggetti cloud con Il catalogo unity.

Nota

Unity Catalog richiede 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`;

Per caricare le tabelle convertite come tabelle esterne in Unity Catalog, è necessaria l'autorizzazione CREATE EXTERNAL TABLE per il percorso esterno.

Nota

Per Databricks Runtime 11.3 LTS e versioni successive, CONVERT TO DELTA deduce automaticamente le informazioni di partizionamento per le tabelle registrate nel metastore Hive. È necessario fornire informazioni sul partizionamento per le tabelle esterne del catalogo unity.

Conversione di tabelle gestite ed esterne in Delta Lake nel catalogo unity

CONVERT TO DELTA la sintassi può essere usata solo per la creazione di tabelle esterne del catalogo Unity. Usare un'istruzione CTAS per convertire una tabella Parquet gestita dal metastore Hive legacy direttamente in una tabella Delta Lake del catalogo Unity gestita, vedere Aggiornare una tabella Hive a una tabella gestita del catalogo Unity usando CREATE TABLE AS SELECT.

Per aggiornare una tabella Parquet esterna a una tabella esterna del catalogo Unity, vedere Aggiornare una singola tabella Hive a una tabella esterna del catalogo Unity usando l'aggiornamento guidato.

Dopo aver registrato una tabella Parquet esterna in Unity Catalog, è possibile convertirla in una tabella Delta Lake esterna. Se la tabella Parquet è partizionata, è necessario fornire informazioni sul partizionamento.

CONVERT TO DELTA catalog_name.database_name.table_name;

CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);