Condividi tramite


Che cos'è una tabella?

Una tabella si trova in uno schema e contiene righe di dati. Per impostazione predefinita, tutte le tabelle create in Azure Databricks usano Delta Lake. Le tabelle supportate da Delta Lake sono dette anche tabelle Delta.

Una tabella Delta archivia i dati come directory di file nell'archivio oggetti cloud e registra i metadati della tabella nel metastore all'interno di un catalogo e di uno schema. Tutte le tabelle gestite di Unity Catalog e le tabelle di streaming sono tabelle Delta. Le tabelle esterne di Unity Catalog possono essere tabelle Delta, ma non sono necessarie.

È possibile creare tabelle in Databricks che non usano Delta Lake. Queste tabelle non forniscono le garanzie transazionali o le prestazioni ottimizzate delle tabelle Delta. È possibile scegliere di creare i tipi di tabelle seguenti usando formati diversi da Delta Lake:

  • Tabelle esterne.
  • Tabelle esterne.
  • Tabelle registrate nel metastore Hive legacy.

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

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

Tipi di tabella di Azure Databricks

Azure Databricks consente di usare i tipi di tabelle seguenti.

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. Usano sempre Delta Lake. Vedere Usare tabelle gestite.

Tabelle esterne

Le tabelle esterne, talvolta denominate tabelle non gestite, separano la gestione dei file di dati sottostanti dalla registrazione del metastore. Le tabelle esterne di Unity Catalog possono archiviare file di dati usando formati comuni leggibili da sistemi esterni. Vedere Usare tabelle esterne.

Tabelle Delta

Il termine tabella Delta viene usato per descrivere qualsiasi tabella supportata da Delta Lake. Poiché le tabelle Delta sono l'impostazione predefinita in Azure Databricks, la maggior parte dei riferimenti alle tabelle descrive il comportamento delle tabelle Delta, se non diversamente specificato.

Databricks consiglia di interagire sempre con le tabelle Delta usando nomi di tabella completi anziché percorsi di file.

Tabelle di streaming

Le tabelle di streaming sono tabelle Delta usate principalmente per l'elaborazione di dati incrementali. La maggior parte degli aggiornamenti delle tabelle di streaming avviene tramite operazioni di aggiornamento.

È possibile registrare tabelle di streaming in Unity Catalog usando Databricks SQL o definirle come parte di una pipeline di tabelle live Delta. Vedere Caricare dati usando tabelle di streaming in Databricks SQL. e Che cos'è Delta Live Tables?.

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 Che cos'è la federazione lakehouse.

Tabelle delle funzionalità

Qualsiasi tabella Delta gestita dal catalogo Unity con una chiave primaria è una tabella delle funzionalità. Facoltativamente, è possibile configurare le tabelle delle funzionalità usando l'Archivio funzionalità online per casi d'uso a bassa latenza. Vedere Usare le tabelle delle funzionalità nell'archivio delle funzionalità dell'area di lavoro.

Tabelle Hive (legacy)

Le tabelle Hive descrivono due concetti distinti in Azure Databricks, entrambi modelli legacy e non consigliati.

Per impostazione predefinita, le tabelle registrate usando i dati del metastore Hive legacy vengono archiviati nella radice DBFS legacy. Databricks consiglia di eseguire la migrazione di tutte le tabelle da HMS legacy a Unity Catalog. Vedere Oggetti di database nel metastore Hive legacy.

Apache Spark supporta la registrazione e l'esecuzione di query su tabelle Hive, ma questi codec non sono ottimizzati per Azure Databricks. Databricks consiglia di registrare tabelle Hive solo per supportare query su dati scritti da sistemi esterni. Vedere tabella Hive (legacy).

Tabelle live (deprecate)

Il termine tabelle live si riferisce a un'implementazione precedente della funzionalità ora implementata come viste materializzate. Qualsiasi codice legacy che fa riferimento a tabelle live deve essere aggiornato per usare la sintassi per le viste materializzate. Vedere Informazioni sulle tabelle live delta e Uso di viste materializzate in Databricks SQL.

Autorizzazioni di tabella di base

Per creare una tabella, gli utenti devono disporre CREATE TABLE di autorizzazioni e USE SCHEMA per lo schema e devono disporre dell'autorizzazione per il USE CATALOG catalogo padre. Per eseguire query su una tabella, gli utenti devono disporre dell'autorizzazione SELECT per la tabella, dell'autorizzazione USE SCHEMA per lo schema padre e dell'autorizzazione per il USE CATALOG catalogo padre.

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