Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il catalogo Unity supporta tre tipi di tabella primari: tabelle gestite, esterne e straniere. Ogni tipo differisce dal modo in cui i dati vengono archiviati, gestiti e regolati.
Tabelle gestite
Le tabelle gestite sono il tipo di tabella predefinito e consigliato. Unity Catalog gestisce il ciclo di vita dei dati, la posizione di archiviazione e le ottimizzazioni. Quando si elimina una tabella gestita, vengono eliminati sia i metadati che i file di dati sottostanti.
Le tabelle gestite sono supportate da Delta Lake o Apache Iceberg e forniscono:
- Ottimizzazione automatica per ridurre i costi di archiviazione e calcolo
- Prestazioni delle query più veloci in tutti i tipi di client
- Manutenzione automatica delle tabelle
- Proteggere l'accesso per i client non Databricks tramite API aperte
- Aggiornamenti automatici alle funzionalità della piattaforma più recenti
I file di dati vengono archiviati nello schema o nel catalogo contenente la tabella. Vedere Tabelle gestite di Unity Catalog in Azure Databricks per Delta Lake e Apache Iceberg.
Tabelle esterne
Le tabelle esterne registrano i dati archiviati nell'archiviazione di oggetti cloud gestita. Unity Catalog gestisce l'accesso ai dati, ma non gestisce il ciclo di vita dei dati, le ottimizzazioni o il layout di archiviazione. Quando si elimina una tabella esterna, vengono rimossi solo i metadati, ovvero i file di dati sottostanti rimangono.
Le tabelle esterne di Unity Catalog supportano formati Delta Lake (consigliati) e CSV, JSON, AVRO, PARQUET, ORC e TEXT. Le tabelle esterne non Delta non dispongono delle garanzie transazionali e delle ottimizzazioni delle prestazioni di Delta Lake.
Usare tabelle esterne quando è necessario:
- Registrare i dati esistenti non compatibili con le tabelle gestite di Unity Catalog
- Fornire l'accesso diretto ai dati da client non Databricks che non supportano altri modelli di accesso esterno
Consultare Lavorare con tabelle esterne.
Tabelle esterne
Le tabelle esterne (dette anche tabelle federate) vengono registrate usando Unity Catalog come parte di un catalogo esterno. I sistemi esterni gestiscono i dati e i metadati, mentre Unity Catalog aggiunge la governance dei dati per l'esecuzione di query.
Azure Databricks supporta due metodi per la registrazione di tabelle esterne:
- Federazione di query: usa connessioni JDBC sicure a sistemi dati esterni come PostgreSQL e MySQL
- Federazione del catalogo: connette cataloghi esterni per eseguire query sui dati direttamente nell'archiviazione file
Le tabelle esterne supportate da Delta Lake non dispongono di molte ottimizzazioni disponibili nelle tabelle gestite di Unity Catalog. Per carichi di lavoro di produzione o set di dati sottoposti a query frequenti, eseguire la migrazione alle tabelle gestite del catalogo Unity per ottenere prestazioni migliori. Vedere Usare tabelle esterne.
Confronto dei tipi di tabella
La tabella seguente confronta i tre tipi di tabella:
| Caratteristica / Funzionalità | Tabelle gestite | Tabelle esterne | Tabelle esterne |
|---|---|---|---|
| Gestione del ciclo di vita dei dati | Unity Catalog gestisce | Gestisci | Il sistema esterno gestisce |
| Posizione di archiviazione | Unity Catalog gestisce | Specificare | Il sistema esterno gestisce |
| Ottimizzazioni automatiche | Yes | Limitato | NO |
| Formati supportati | Delta Lake, Apache Iceberg | Delta Lake (scelta consigliata), CSV, JSON, AVRO, PARQUET, ORC, TEXT | Dipende dal sistema esterno |
Dati eliminati in DROP TABLE |
Yes | NO | NO |
| Ideale per | Carichi di lavoro di produzione, dati sottoposti a query frequenti | Integrazioni legacy, dati esistenti | Migrazione da sistemi esterni, accesso temporaneo |
Altri tipi di tabella
Azure Databricks supporta anche tipi di tabella specializzati per casi d'uso specifici:
- Tabelle di streaming: set di dati dichiarativi di LakeFlow Spark supportati da Delta Lake con logica di elaborazione incrementale
- Viste materializzate: set di dati delle Pipeline dichiarative di Lakeflow Spark supportati da Delta Lake che materializzano i risultati delle query utilizzando la logica del flusso gestito
Tipi di tabella legacy
I tipi di tabella legacy seguenti sono supportati per la compatibilità con le versioni precedenti, ma non sono consigliati per il nuovo sviluppo.
Tabelle Hive
Le tabelle Hive usano modelli legacy, inclusi il metastore Hive, i codec SerDe Hive o la sintassi Hive SQL. Per impostazione predefinita, le tabelle registrate mediante il metastore Hive legacy archiviano i dati nella radice legacy di DBFS.
Eseguire la migrazione di tutte le tabelle dal modulo HMS legacy al catalogo Unity. Vedere Oggetti di database nel metastore Hive legacy. Facoltativamente, è possibile eseguire la federazione di un metastore Hive in Unity Catalog. Consultare Federazione del Metastore Hive: Abilitare Unity Catalog per gestire le tabelle registrate in un metastore Hive.
Apache Spark supporta la registrazione e l'esecuzione di query sulle tabelle Hive, ma questi codec non sono ottimizzati per Azure Databricks. Registrare le tabelle Hive solo per consentire di eseguire query contro i dati generati da sistemi esterni. Consultare la tabella Hive legacy.
Tabelle live
Il termine tabelle live si riferisce a un'implementazione precedente della funzionalità ora disponibile come viste materializzate. Aggiornare il codice legacy che fa riferimento a tabelle live per usare la sintassi della vista materializzata. Vedere Lakeflow Spark Declarative Pipelines and Materialized views (Pipeline dichiarative di Lakeflow Spark e viste materializzate).