Condividi tramite


Lavorare con tables gestiti

Azure Databricks gestisce il ciclo di vita e il layout dei file per un tablegestito. Le tables gestite rappresentano il modo predefinito per creare tables.

Databricks consiglia di usare i tables gestiti per tutti i dati tabulari gestiti in Azure Databricks.

Nota

Questo articolo è incentrato su Unity Catalog gestito tables. Le tables gestite nel metastore Hive legacy hanno comportamenti diversi. Vedere Oggetti di database nel metastore Hive legacy.

Usare i gestiti tables

È possibile usare tables gestiti in tutti i linguaggi e i prodotti supportati in Azure Databricks. Sono necessari determinati privilegi per creare, update, eliminare o eseguire query su tablesgestite. Vedi Gestire i privilegi in Unity Catalog.

Non è consigliabile usare strumenti esterni ad Azure Databricks per modificare direttamente i file in tables gestiti.

Si dovrebbe interagire solo con i file di dati gestiti in un table usando il nome table.

I file di dati per i tables gestiti vengono archiviati nel percorso di archiviazione gestito associato al contenitore schema. Vedi Specificare un percorso di archiviazione gestito in Unity Catalog.

Creare un table gestito

Per impostazione predefinita, ogni volta che si crea un table usando comandi SQL, Spark o altri strumenti in Azure Databricks, il table viene gestito.

La sintassi SQL seguente illustra come creare un table gestito vuoto usando SQL. Sostituire il segnaposto values:

  • <catalog-name>: nome del catalog che conterrà il table.
  • <schema-name>: nome del schema che conterrà il table.
  • <table-name>: un nome per il table.
  • <column-specification>: nome e tipo di dati per ogni column.
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
  <column-specification>
);

Molti utenti creano tables gestiti a partire dai risultati di query o dalle operazioni di scrittura del DataFrame. Gli articoli seguenti illustrano alcuni dei numerosi modelli che è possibile usare per creare un table gestito in Azure Databricks:

Autorizzazioni necessarie

Per creare un tablegestito, è necessario disporre di:

  • Autorizzazione USE SCHEMA per il schemapadre di table.
  • Autorizzazione USE CATALOG per il catalogpadre di table.
  • Autorizzazione CREATE TABLE per il schemapadre di table.

Eliminare un table gestito

È necessario essere il proprietario dell'tableo avere il privilegio di MANAGE sul table per eliminare un table. Per eliminare un tablegestito, eseguire il comando SQL seguente:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

Quando un table gestito viene eliminato, i dati sottostanti vengono eliminati dal tenant cloud entro 30 giorni.