Converti in Delta Lake
Il comando SQL CONVERT TO DELTA
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 le tabelle Parquet e Iceberg in Delta Lake.
Il catalogo unity supporta il comando SQL CONVERT TO DELTA
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 convertirli in Delta Lake, sbloccando così tutte le funzionalità del Databricks Lakehouse.
Per la documentazione tecnica, vedere CONVERT TO DELTA.
Conversione di una directory di file Parquet o Iceberg in una posizione esterna in Delta Lake
Nota
- La conversione delle tabelle Iceberg è 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 che hanno subito l'evoluzione delle partizioni non è supportata.
- La conversione delle tabelle Iceberg "merge-on-read" che hanno subito aggiornamenti, eliminazioni o fusioni 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
,long
oint
. - Azure Databricks non supporta l'uso di colonne troncate di tipo
decimal
.
- In Databricks Runtime 12.2 LTS e versioni successive l'unico tipo di colonna troncato supportato è
È possibile convertire una directory di file di dati Parquet in una tabella Delta Lake purché si disponga dell'accesso in scrittura nella posizione di archiviazione. Per informazioni sulla configurazione dell'accesso con Unity Catalog, vedere Connettersi all'archiviazione di oggetti nel cloud e ai servizi usando Unity Catalog.
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, è necessario il permesso CREATE EXTERNAL TABLE
per la posizione esterna.
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 Unity Catalog.
Conversione di tabelle gestite ed esterne in Delta Lake su Unity Catalog
La sintassi CONVERT TO DELTA
può essere usata solo per la creazione di tabelle esterne del Catalogo Unity. Usare un'istruzione CTAS
per convertire direttamente una tabella Parquet gestita dal metastore Hive legacy in una tabella Delta Lake gestita dal Catalogo Unity. Vedere per aggiornare una tabella Hive a una tabella gestita dal Catalogo Unity usando CREATE TABLE AS SELECT.
Per aggiornare una tabella Parquet esterna a una tabella esterna di Unity Catalog, consultare la sezione per aggiornare una singola tabella Hive a una tabella esterna di Unity Catalog usando la procedura guidata di aggiornamento.
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);