Condividi tramite


Concetti relativi alle tabelle di Azure Databricks

Una tabella di Azure Databricks si trova in uno schema e contiene righe di dati. Il tipo di tabella predefinito creato in Azure Databricks è una tabella gestita di Unity Catalog.

Nell'esempio seguente viene illustrata una tabella gestita denominata prod.people_ops_employees che contiene dati relativi a cinque dipendenti. Come tabella gestita, i file di dati vengono archiviati nel percorso di archiviazione gestito di Unity Catalog nell'archiviazione cloud.

Tabella di esempio contenente i dati dei dipendenti

Formati di archiviazione

I tipi di tabella in Azure Databricks definiscono la modalità di proprietà e accesso ai dati. Separatamente, il formato di archiviazione definisce il modo in cui i dati sono fisicamente strutturati e monitorati sul disco.

Azure Databricks supporta due formati principali di archiviazione tabelle aperte:

  • Delta Lake è il formato di archiviazione predefinito per tabelle gestite ed esterne in Azure Databricks.
  • Apache Iceberg è supportato in tabelle gestite ed esterne in Azure Databricks. Questo formato è utile quando si esegue l'integrazione con l'ecosistema Iceberg.

Questi formati aggiungono un livello di archiviazione transazionale che tiene traccia dei metadati e abilita la conformità atomica, coerenza, isolamento e durabilità (ACID), il tempo di viaggio e altre funzionalità.

Tipi di tabella

Azure Databricks offre tre tipi di tabella principali, ognuno progettato per diversi scenari di gestione dei dati e modelli di proprietà. La scelta del tipo di tabella determina il modo in cui Azure Databricks gestisce i file di dati e i metadati sottostanti.

Il differenziatore principale per i tipi di tabella in Azure Databricks è il catalogo proprietario, come descritto nella tabella seguente:

Tipo di tabella Gestione del catalogo Supporto di lettura/scrittura Ottimizzazione delle prestazioni Ottimizzazione dei costi di archiviazione
Gestito Catalogo Unity Yes Yes Yes
External Nessuno (solo file) Yes Solo manuale Solo manuale
Straniero Un sistema esterno o un servizio di catalogo Sola lettura NO NO

Tabelle gestite

Le tabelle gestite gestiscono i file di dati sottostanti insieme alla registrazione del metastore. Databricks consiglia di usare tabelle gestite ogni volta che si crea una nuova tabella. Le tabelle gestite di Unity Catalog sono l'impostazione predefinita quando si creano tabelle in Azure Databricks. Vedere Tabelle gestite.

Tabelle esterne

Tabelle esterne, talvolta denominate tabelle non gestite, dati di riferimento archiviati all'esterno di Databricks in un sistema di archiviazione esterno, ad esempio l'archiviazione di oggetti cloud. Separano la gestione dei file di dati sottostanti dalla registrazione del metastore. Unity Catalog supporta tabelle esterne in diversi formati, tra cui Delta Lake. Le tabelle esterne di Unity Catalog possono archiviare file di dati usando formati comuni leggibili da sistemi esterni. Vedere Tabelle esterne.

Tabelle esterne

Le tabelle esterne rappresentano i dati archiviati in sistemi esterni connessi ad Azure Databricks tramite Lakehouse Federation. Le tabelle esterne sono di sola lettura in Azure Databricks. Vedere Tabelle esterne.

Tabelle nel catalogo unity

Nel catalogo unity le tabelle si trovano al terzo livello dello spazio dei nomi a tre livelli (catalog.schema.table), come illustrato nel diagramma seguente:

Diagramma del modello a oggetti del catalogo Unity, incentrato sulla tabella

Autorizzazioni di tabella di base

La maggior parte delle operazioni di tabella richiede USE CATALOG autorizzazioni e USE SCHEMA per il catalogo e lo schema che contiene una tabella.

La tabella seguente riepiloga le autorizzazioni aggiuntive necessarie per le operazioni di tabella comuni nel catalogo unity:

Operation Permissions
Crea una tabella CREATE TABLE nello schema contenitore
Eseguire query su una tabella SELECT sulla tabella
Aggiornare, eliminare, unire o inserire dati in una tabella SELECT e MODIFY sulla tabella
Eliminare una tabella MANAGE sulla tabella
Sostituire una tabella MANAGE nella tabella, CREATE TABLE nello schema contenitore

Per altre informazioni sulle autorizzazioni del catalogo Unity, vedere Gestire i privilegi nel catalogo unity.