Condividi tramite


Creare e gestire views

Questo articolo illustra come creare views in Unity Catalog. Vedere Che cos'è una visualizzazione?.

Autorizzazioni necessarie

Per creare una visualizzazione:

  • È necessario avere l'autorizzazione USE CATALOG sul genitore catalog e le autorizzazioni USE SCHEMA e CREATE TABLE sul genitore schema. Un amministratore del metastore o il proprietario del catalog può grant tutti questi privilegi. Un proprietario o un utente schema con il privilegio di MANAGE può grant, USE SCHEMA e CREATE TABLE privilegi sul schema.
  • È necessario essere in grado di leggere il tables e views a cui si fa riferimento nella vista (SELECT nella table o nella vista, nonché USE CATALOG nella catalog e USE SCHEMA nel schema).
  • Se una vista fa riferimento a tables nel metastore Hive locale dell'area di lavoro, è possibile accedere alla vista solo dall'area di lavoro che contiene il metastore Hive locale dell'area di lavoro tables. Per questo motivo, Databricks consiglia di creare views solo da tables o views presenti nel metastore Unity Catalog.
  • Non è possibile creare una vista che faccia riferimento a una visualizzazione condivisa con l'utente usando la condivisione delta. Si veda Che cos'è Delta Sharing?.

Per leggere una visualizzazione, le autorizzazioni necessarie dipendono dal tipo di calcolo, dalla versione di Databricks Runtime e dalla modalità di accesso:

  • Per tutte le risorse di calcolo, è necessario disporre di SELECT nella vista stessa, USE CATALOG sul relativo catalogpadre e USE SCHEMA sul relativo schemapadre. Questo vale per tutti i tipi di calcolo che supportano Unity Catalog, inclusi SQL warehouse, cluster in modalità di accesso condiviso e cluster in modalità di accesso singolo su Databricks Runtime 15.4 e versioni successive.
  • Per i cluster in Databricks Runtime 15.3 e versioni precedenti che utilizzano la modalità di accesso utente singolo, è necessario disporre anche di SELECT su tutte le tables e views a cui fa riferimento la vista, oltre a USE CATALOG sul catalogs padre e USE SCHEMA nei rispettivi schemi padre.

Nota

Se si usa un cluster a utente singolo in Databricks Runtime 15.4 LTS e versioni successive e si desidera evitare il requisito di avere SELECT nei tables sottostanti e nel views, verificare che l'area di lavoro sia abilitata per l'ambiente di calcolo serverless.

L'ambiente di calcolo serverless gestisce il filtro dei dati, che consente l'accesso a una vista senza richiedere autorizzazioni per i tables sottostanti e views. Si consiglia di tenere presente che è possibile incorrere in addebiti di calcolo serverless quando si utilizza il calcolo per utente singolo per eseguire query su views. Per altre informazioni, vedere Controllo di accesso con granularità fine per il calcolo di un singolo utente.

Crea una visualizzazione

Per creare una vista, eseguire il comando SQL seguente. Gli elementi tra parentesi sono facoltativi. Sostituire il segnaposto values:

  • <catalog-name>: nome del catalog.
  • <schema-name>: nome del schema.
  • <view-name>: nome della visualizzazione.
  • <query>: La query, columns, tables e views usate per comporre la vista.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Ad esempio, per creare una vista denominata sales_redacted da columns nel sales_rawtable:

CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
  user_id,
  email,
  country,
  product,
  total
FROM sales_metastore.sales.sales_raw;

È anche possibile creare una vista usando il provider Databricks Terraform e databricks_table. È possibile recuperare un list di nomi completi di visualizzazione utilizzando databricks_views.

Eliminare una vista

È necessario essere il proprietario della visualizzazione o avere il privilegio MANAGE nella visualizzazione per eliminare una visualizzazione. Per eliminare una vista, eseguire il comando SQL seguente:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;