Condividi tramite


Creare e gestire visualizzazioni

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

Autorizzazioni necessarie

Per creare una visualizzazione:

  • È necessario disporre dell'autorizzazione USE CATALOG per il catalogo padre e le USE SCHEMA autorizzazioni e CREATE TABLE per lo schema padre. Un amministratore del metastore o il proprietario del catalogo può concedere tutti questi privilegi. Un proprietario dello schema può concedere USE SCHEMA l'utente e CREATE TABLE i privilegi per lo schema.
  • È necessario essere in grado di leggere le tabelle e le viste a cui si fa riferimento nella vista (SELECT nella tabella o nella vista, nonché USE CATALOG nel catalogo e USE SCHEMA nello schema).
  • Se una vista fa riferimento alle tabelle nel metastore Hive locale dell'area di lavoro, è possibile accedere alla vista solo dall'area di lavoro che contiene le tabelle locali dell'area di lavoro. Per questo motivo, Databricks consiglia di creare visualizzazioni solo da tabelle o viste presenti nel metastore di 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 SELECT della vista stessa, USE CATALOG nel catalogo padre e USE SCHEMA nello schema padre. Questo vale per tutti i tipi di calcolo che supportano il catalogo Unity, inclusi i warehouse SQL, i cluster in modalità di accesso condiviso e i cluster in modalità di accesso utente singolo in Databricks Runtime 15.4 e versioni successive.
  • Per i cluster in Databricks Runtime 15.3 e versioni successive che usano la modalità di accesso utente singolo, è necessario avere SELECT anche in tutte le tabelle e le viste a cui fa riferimento la vista, oltre ai cataloghi padre e USE SCHEMA ai USE CATALOG relativi schemi padre.

Nota

Se si usa un cluster a utente singolo in Databricks Runtime 15.4 LTS e versioni successive e si vuole evitare la necessità di disporre SELECT delle tabelle e delle viste sottostanti, verificare che l'area di lavoro sia abilitata per il calcolo serverless.

Il calcolo serverless gestisce il filtro dei dati, che consente l'accesso a una vista senza richiedere autorizzazioni per le tabelle e le viste sottostanti. Tenere presente che è possibile che si verifichino addebiti di calcolo serverless quando si usa il calcolo utente singolo per eseguire query sulle viste. 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 i valori segnaposto;

  • <catalog-name>: nome del catalogo.
  • <schema-name>: nome dello schema.
  • <view-name>: nome della visualizzazione.
  • <query>: query, colonne e tabelle e viste 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 colonne nella sales_raw tabella:

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 elenco di nomi completi della visualizzazione usando databricks_views.

Eliminare una vista

Per eliminare una visualizzazione, è necessario essere il proprietario della visualizzazione. Per eliminare una vista, eseguire il comando SQL seguente:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;