Condividi tramite


Introduzione alle tabelle di Azure Databricks

Una tabella 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.

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
Esterno Nessuno (solo file) Solo modalità manuale Solo modalità manuale
Straniero Un sistema esterno o un servizio di catalogo Sola lettura NO NO

Nell'esempio seguente viene illustrata una tabella denominata prod.people_ops_employees contenente dati relativi a cinque dipendenti. I metadati vengono registrati in Unity Catalog e i dati vengono archiviati nell'archiviazione cloud.

Tabella di esempio contenente i dati dei dipendenti

Formati di archiviazione: Delta Lake e Apache Iceberg

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 tabella aperta: Delta Lake e Apache Iceberg. Questi formati aggiungono un livello di archiviazione transazionale che tiene traccia dei metadati e abilita la conformità ACID, il viaggio nel tempo e altre funzionalità.

  • 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.

Tabelle gestite

Le tabelle gestite gestiscono i file di dati sottostanti insieme all'iscrizione al 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 di Unity Catalog in Azure Databricks per Delta Lake e Apache Iceberg.

Tabelle esterne

Tabelle esterne, talvolta denominate tabelle non gestite, i 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 di base 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. Consultare Lavorare con 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 Usare 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 e USE SCHEMA autorizzazioni su il catalogo e lo schema che contengono una tabella.

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

Operazione Autorizzazioni
Crea una tabella CREATE TABLE nello schema contenente
Interrogare una tabella SELECT sul tavolo
Aggiornare, eliminare, unire o inserire dati in una tabella SELECT e MODIFY sulla tabella
Rimuovere una tabella MANAGE sul tavolo
Sostituire una tabella MANAGE nella tabella, CREATE TABLE nello schema contenitore

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