Condividi tramite


Configurare e gestire il catalogo Unity

Questo articolo illustra come configurare e usare Unity Catalog per gestire i dati nell'area di lavoro di Azure Databricks. È destinato principalmente agli amministratori dell'area di lavoro che usano Unity Catalog per la prima volta. Per configurare Unity Catalog usando il provider Databricks Terraform, vedere Automatizzare la configurazione del catalogo Unity con Terraform.

In questa articolo verranno illustrati:

  • Area di lavoro abilitata per Unity Catalog.
  • Calcolo che ha accesso a Unity Catalog.
  • Gli utenti con l'autorizzazione per accedere e creare oggetti in Unity Catalog.

È anche possibile esaminare altri articoli introduttivi:

Nota

Se si vuole aggiornare un'area di lavoro nonUnity-Catalog esistente a Unity Catalog, è possibile trarre vantaggio dall'uso di UCX, un progetto databricks Labs che fornisce un set di flussi di lavoro e utilità per aggiornare identità, autorizzazioni e tabelle a Unity Catalog. Consulta Usa le utilità UCX per aggiornare l'area di lavoro a Unity Catalog.

Panoramica dell'abilitazione del catalogo Unity

Per usare Unity Catalog, le aree di lavoro di Azure Databricks devono essere abilitate per Unity Catalog, il che significa che le aree di lavoro sono collegate a un metastore di Unity Catalog, il contenitore di primo livello per i metadati del catalogo Unity.

Il modo in cui gli amministratori configurano Il catalogo unity dipende dal fatto che l'area di lavoro sia stata abilitata automaticamente per Il catalogo unity o richieda l'abilitazione manuale.

Abilitazione automatica del Catalogo Unity

Databricks ha iniziato ad abilitare automaticamente nuove aree di lavoro per Unity Catalog il 9 novembre 2023, con un'implementazione graduale tra gli account. Le aree di lavoro abilitate automaticamente hanno le proprietà seguenti:

  • Metastore del catalogo Unity con provisioning automatico (a meno che non esista già un metastore del catalogo Unity per l'area di lavoro e il metastore sia abilitato per l'assegnazione automatica dell'area di lavoro).

  • Privilegi predefiniti per gli amministratori dell'area di lavoro, ad esempio la possibilità di creare un catalogo o una connessione di database esterna.

  • Nessun amministratore del metastore (a meno che non sia stato utilizzato un metastore Unity esistente e fosse già stato assegnato un amministratore del metastore).

  • Nessuna archiviazione a livello di metastore principale per tabelle gestite e volumi gestiti (a meno che non sia stato usato un metastore di Unity Catalog esistente con archiviazione a livello di metastore principale).

  • Un catalogo dell'area di lavoro, , che, quando originariamente predisposto, viene chiamato come la tua area di lavoro.

    Tutti gli utenti dell'area di lavoro possono creare asset nello schema default in questo catalogo. Per impostazione predefinita, questo catalogo è associato all'area di lavoro, il che significa che è accessibile solo tramite l'area di lavoro. L'attivazione automatica del catalogo delle aree di lavoro alla creazione di un'area di lavoro viene implementata gradualmente tra tutti gli account.

Queste configurazioni predefinite funzionano correttamente per la maggior parte delle aree di lavoro, ma possono essere tutte modificate da un amministratore dell'area di lavoro o da un amministratore dell'account. Ad esempio, un amministratore dell'account può assegnare un amministratore del metastore e creare una risorsa di archiviazione a livello di metastore e un amministratore dell'area di lavoro può modificare il nome e l'accesso del catalogo dell'area di lavoro.

Cosa accade se l'area di lavoro non è stata attivata automaticamente per il catalogo Unity?

Se l'area di lavoro non è stata abilitata automaticamente per Unity Catalog, un amministratore dell'account o un amministratore del metastore deve collegare manualmente l'area di lavoro a un metastore di Unity Catalog nella stessa regione. Se non esiste alcun metastore di Unity Catalog nella regione, un amministratore dell'account deve crearne uno. Per istruzioni, vedere Creare un metastore del catalogo Unity.

Come è possibile sapere se l'area di lavoro è stata abilitata per il catalogo Unity?

Per confermare se l'area di lavoro è abilitata per Unity Catalog, chiedi a un amministratore dell'area di lavoro di Azure Databricks o dell'account di verificarlo per te. Vedi anche Passaggio 1: Verificare che l'area di lavoro sia abilitata per Unity Catalog.

Come è possibile sapere se l'area di lavoro include un catalogo dell'area di lavoro ?

Alcune nuove aree di lavoro dispongono di un catalogo di aree di lavoro che, quando viene originariamente sottoposto a provisioning, porta il nome della vostra area di lavoro. Per determinare se l'area di lavoro ne ha una, fare clic sull'icona Catalogocatalogo nella barra laterale per aprire Esplora cataloghi e cercare un catalogo che usa il nome dell'area di lavoro come nome del catalogo.

Nota

Il catalogo dell'area di lavoro è simile a qualsiasi altro catalogo in Unity Catalog: un amministratore dell'area di lavoro può modificarne il nome, modificarne la proprietà o persino eliminarlo. Tuttavia, subito dopo la creazione dell'area di lavoro, porta il nome dell'area di lavoro

Operazioni preliminari

Prima di iniziare le attività descritte in questo articolo, è necessario acquisire familiarità con i concetti di base del catalogo Unity, inclusi metastore, ruoli di amministratore e archiviazione gestita. Vedi Che cos'è il Catalogo Unity?.

È anche necessario verificare di possedere i seguenti requisiti:

  • Un'area di lavoro di Azure Databricks sul piano Premium.

  • I seguenti ruoli e privilegi, che dipendono dallo stato dell'area di lavoro:

    • Amministratore dell'area di lavoro: se l'area di lavoro è stata abilitata automaticamente per Unity Catalog al momento della creazione, è necessario essere un amministratore dell'area di lavoro per completare le attività necessarie.

    • Amministratore account: se l'area di lavoro non è già abilitata per il catalogo Unity, un amministratore dell'account deve associarla al metastore.

      Se non è presente alcun metastore del catalogo Unity nella regione della stessa area di lavoro, un amministratore dell'account deve creare anche il metastore del catalogo Unity.

      Istruzioni per determinare se esiste un metastore per lo spazio dell'area di lavoro, insieme alle istruzioni per la creazione di un metastore, vedere questo articolo.

    Vedere privilegi di amministratore in Unity Catalog e abilitazione automatica di Unity Catalog.

Passaggio 1: Verificare che l'area di lavoro sia abilitata per il catalogo Unity

In questo passaggio, si determina se l'area di lavoro è già abilitata per Unity Catalog, dove l'abilitazione è definita come avere un metastore di Unity Catalog collegato all'area di lavoro. Se l'area di lavoro non è abilitata per Unity Catalog, è necessario abilitare manualmente l'area di lavoro per Unity Catalog. Vedere Passaggi successivi se l'area di lavoro non è abilitata per Unity Catalog.

Per confermare, usare uno dei metodi descritti di seguito.

Usare la console dell'account per confermare l'abilitazione del catalogo Unity

  1. Come amministratore di un account Azure Databricks, accedere alla console dell'account.
  2. Fare clic su Icona aree di lavoroAree di lavoro.
  3. Trova la tua area di lavoro e controlla la colonna Metastore. Se è presente un nome di metastore, l'area di lavoro è collegata a un metastore di Unity Catalog ed è quindi abilitata a Unity Catalog.

Eseguire una query SQL per confermare l'abilitazione del catalogo Unity

Eseguire la query SQL seguente nell'editor di query SQL o in un notebook collegato a un cluster che usa la modalità di accesso condiviso o utente singolo. Vedere Modalità di accesso usata. Non è necessario alcun ruolo di amministratore.

SELECT CURRENT_METASTORE();

Se la query restituisce un ID metastore simile al seguente, l'area di lavoro viene collegata a un metastore di Unity Catalog e quindi abilitata per l'utilizzo di Unity Catalog.

Output del metastore corrente

Passaggi successivi se l'area di lavoro non è abilitata per Unity Catalog

Se l'area di lavoro non è abilitata per Unity Catalog (collegato a un metastore), il passaggio successivo dipende dall'avere già definito un metastore di Unity Catalog per la regione dell'area di lavoro:

  • Se l'account ha già un metastore del catalogo Unity definito per l'area di lavoro, è sufficiente collegare l'area di lavoro al metastore esistente. Vai a Abilita l'area di lavoro per Unity Catalog.
  • Se non è stato definito alcun metastore di Unity Catalog per la regione dell'area di lavoro, è necessario creare un metastore e quindi associare l'area di lavoro. Vai a Crea un metastore del Catalogo Unity.

Quando l'area di lavoro è abilitata per Unity Catalog, andare al passaggio successivo.

Passaggio 2: aggiungere utenti e assegnare il ruolo di amministratore dell'area di lavoro

L'utente che crea l'area di lavoro viene aggiunto automaticamente come utente dell'area di lavoro con il ruolo di amministratore dell'area di lavoro, ovvero un utente nel gruppo locale dell'area di lavoro admins. Gli amministratori dell'area di lavoro possono aggiungere e invitare utenti all'area di lavoro, assegnare il ruolo di amministratore dell'area di lavoro ad altri utenti e creare entità servizio e gruppi.

Anche gli amministratori di account possono aggiungere utenti, entità servizio e gruppi all'area di lavoro. Possono concedere i ruoli di amministratore dell'account e di amministratore del metastore.

Per informazioni dettagliate, vedere Gestire gli utenti.

Può essere utile gestire l'accesso degli utenti ad Azure Databricks configurando il provisioning da Microsoft Entra ID. Per istruzioni complete, vedere Sincronizzare utenti e gruppi da Microsoft Entra ID utilizzando SCIM.

Passaggio 3: creare cluster o magazzini SQL che gli utenti possono usare per eseguire query e creare oggetti

Per eseguire carichi di lavoro del catalogo Unity, le risorse di calcolo devono essere conformi a determinati requisiti di sicurezza. Le risorse di calcolo non conformi non possono accedere ai dati o ad altri oggetti in Unity Catalog. I warehouse SQL sono sempre conformi ai requisiti di Unity Catalog, ma alcune modalità di accesso del cluster non lo sono. Vedere Modalità di accesso usata.

In qualità di amministratore dell'area di lavoro, è possibile scegliere di rendere la creazione di calcolo limitata agli amministratori o consentire agli utenti di creare i propri magazzini e cluster di SQL. È anche possibile creare politiche di cluster che consentono agli utenti di creare dei propri cluster, usando specifiche conformi al Catalogo Unity applicate da voi. Vedere Autorizzazioni di calcolo e Creare e gestire i criteri di calcolo.

Passaggio 4: Concedere privilegi agli utenti

Per creare oggetti e accedervi nei cataloghi e negli schemi di Unity, un utente deve disporre dell'autorizzazione per farlo. Questa sezione descrive i privilegi utente e amministratore concessi per impostazione predefinita in alcune aree di lavoro e descrive come concedere privilegi aggiuntivi.

Privilegi utente predefiniti

Alcune aree di lavoro hanno privilegi utente (non amministratore) predefiniti al momento dell'avvio:

  • Se l'area di lavoro viene avviata con un catalogo dell'area di lavoro approvvigionato automaticamente, tutti gli utenti dell'area di lavoro possono creare oggetti nello schema default del catalogo dell'area di lavoro.

    Per informazioni su come determinare se l'area di lavoro dispone di un catalogo di aree di lavoro, vedere Come è possibile sapere se l'area di lavoro include un catalogo di aree di lavoro?.

  • Se l'area di lavoro è stata abilitata manualmente per Unity Catalog, è disponibile automaticamente un catalogo main.

    Gli utenti del workspace hanno il privilegio USE CATALOG sul catalogo main, che non concede la possibilità di creare o selezionare alcun oggetto nel catalogo, ma è un prerequisito per lavorare con qualsiasi oggetto nel catalogo. L'utente che ha creato il metastore è proprietario del catalogo main per impostazione predefinita e può trasferire la proprietà e concedere l'accesso ad altri utenti.

    Se l'archiviazione metastore viene aggiunta dopo la creazione del metastore, non viene fornito il catalogo main.

Altre aree di lavoro non hanno cataloghi creati per impostazione predefinita e nessun privilegio utente non amministratore abilitato per impostazione predefinita.Other workspaces have no catalogs created by default and no-admin user privileges enabled by default. Un amministratore dell'area di lavoro deve creare il primo catalogo e concedere agli utenti l'accesso e gli oggetti al suo interno. Saltare a Passaggio 5: Creare nuovi cataloghi e schemi prima di completare i passaggi descritti in questa sezione.

Privilegi predefiniti dell'amministratore

In alcune aree di lavoro, gli amministratori hanno dei privilegi per impostazione predefinita al momento dell'avvio:

  • Se la tua area di lavoro è stata abilitata automaticamente per il Catalogo Unity:
    • Gli amministratori dell'area di lavoro possono creare nuovi cataloghi e oggetti nei nuovi cataloghi e concedere loro l'accesso.
    • Non ci sono amministratori del metastore per impostazione predefinita.
    • Gli amministratori dell'area di lavoro possiedono il catalogo delle aree di lavoro (se presente) e possono concedere l'accesso a tale catalogo e a qualsiasi oggetto del catalogo.
  • Se l'area di lavoro è stata abilitata manualmente per Unity Catalog:
    • Per impostazione predefinita, gli amministratori dell'area di lavoro non dispongono di privilegi speciali del catalogo Unity.
    • Gli amministratori metastore devono esistere e possono creare qualsiasi oggetto Catalogo Unity e possono assumere la proprietà di qualsiasi oggetto Catalogo Unity.

Per un elenco di privilegi di oggetto aggiuntivi concessi agli amministratori dell'area di lavoro nelle aree di lavoro abilitate automaticamente per il Catalogo Unity, vedere privilegi di amministratore dell'area di lavoro quando le aree di lavoro sono abilitate automaticamente per il Catalogo Unity.

Concedere privilegi

Per l'accesso a oggetti diversi da quelli elencati nelle sezioni precedenti, un utente con privilegi deve concedere tale accesso.

Ad esempio, per concedere a un gruppo la possibilità di creare nuovi schemi in my-catalog, il proprietario del catalogo può eseguire quanto segue nell'editor SQL o in un notebook:

GRANT CREATE SCHEMA ON my-catalog TO `data-consumers`;

Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog, l'amministratore dell'area di lavoro è proprietario del catalogo dell'area di lavoro e può concedere la possibilità di creare nuovi schemi:

GRANT CREATE SCHEMA ON <workspace-catalog> TO `data-consumers`;

È anche possibile concedere e revocare privilegi usando Esplora cataloghi.

Importante

Non è possibile concedere privilegi ai gruppi locali users o admins dell'area di lavoro. Per concedere privilegi ai gruppi, devono essere gruppi a livello di account.

Per ulteriori dettagli sulla gestione dei privilegi in Unity Catalog, vedere Gestire i privilegi in Unity Catalog.

Passaggio 5: Creare nuovi cataloghi e schemi

Per iniziare a usare Unity Catalog, è necessario avere almeno un catalogo definito. I cataloghi sono l'unità principale dell'isolamento dei dati e dell'organizzazione in Unity Catalog. Tutti gli schemi e le tabelle sono disponibili in cataloghi, come i volumi, le viste e i modelli.

Alcune aree di lavoro non dispongono di un catalogo fornito automaticamente. Per usare Il catalogo Unity, un amministratore dell'area di lavoro deve creare il primo catalogo per tali aree di lavoro.

Altre aree di lavoro hanno accesso a un catalogo preconfigurato a cui gli utenti possono accedere per iniziare (il catalogo dell'area di lavoro o il catalogo main, a seconda di come la tua area di lavoro è stata configurata per Unity Catalog). Man mano che si aggiungono altri asset di dati e intelligenza artificiale in Azure Databricks, è possibile creare cataloghi aggiuntivi per raggruppare tali asset in modo da semplificare la governance logica dei dati.

Per consigli su come usare i cataloghi e gli schemi per organizzare i dati e gli asset di intelligenza artificiale, consultare procedure consigliate per il catalogo Unity.

Come amministratore del metastore, amministratore dell'area di lavoro (solo aree di lavoro abilitate automaticamente) o altro utente con il privilegio CREATE CATALOG, è possibile creare nuovi cataloghi nel metastore. Quando si esegue questa operazione, è necessario:

  1. Creare l'archiviazione gestita per il nuovo catalogo.

    L'archiviazione gestita è una posizione di archiviazione dedicata nell'account Azure per tabelle gestite e volumi gestiti. È possibile assegnare l'archiviazione gestita al metastore, ai cataloghi e agli schemi. Quando un utente crea una tabella, i dati vengono archiviati nella posizione di archiviazione più bassa nella gerarchia. Ad esempio, se viene definita una posizione di archiviazione per il metastore e il catalogo, ma non per lo schema, i dati vengono archiviati nella posizione definita per il catalogo.

    Databricks consiglia di assegnare l'archiviazione gestita a livello di catalogo, perché i cataloghi rappresentano in genere unità logiche di isolamento dei dati. Se si è a proprio agio con i dati in più cataloghi che condividono la stessa posizione di archiviazione, si può impostare la posizione di archiviazione a livello di metastore come predefinita. Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog, per impostazione predefinita non è disponibile alcuna risorsa di archiviazione a livello di metastore. Un amministratore dell'account ha la possibilità di configurare l'archiviazione a livello di metastore. Vedere Specificare un percorso di archiviazione gestito in Unity Catalog e Aggiungere archiviazione gestita a un metastore esistente.

    Per assegnare l'archiviazione gestita a un catalogo è necessario creare:

    • Delle credenziali di archiviazione.
    • Una posizione esterna che faccia riferimento alle credenziali di archiviazione.

    Per un'introduzione a questi oggetti e istruzioni per la creazione di questi oggetti, vedere Connettersi all'archiviazione di oggetti cloud e ai servizi usando Unity Catalog.

  2. Associare il nuovo catalogo all'area di lavoro se si vuole limitare l'accesso ad altre aree di lavoro che condividono lo stesso metastore.

    Vedi Limita l'accesso al catalogo a specifiche aree di lavoro.

  3. Concedere privilegi al catalogo.

Per istruzioni più dettagliate, vedere Creazione di cataloghi.

Esempio di creazione del catalogo

Nell'esempio seguente viene illustrata la creazione di un catalogo con archiviazione gestita, seguita dalla concessione del privilegio SELECT nel catalogo:

CREATE CATALOG IF NOT EXISTS mycatalog
  MANAGED LOCATION 'abfss://mycontainer@<myaccount.dfs.core.windows.net//depts/finance';

GRANT SELECT ON mycatalog TO `finance-team`;

Per altri esempi, incluse le istruzioni per la creazione di cataloghi con Esplora cataloghi, vedere Creare cataloghi.

Creare uno schema

Gli schemi rappresentano raggruppamenti più granulari ,ad esempio reparti o progetti, rispetto ai cataloghi. Tutte le tabelle e gli altri oggetti del Catalogo Unity nel catalogo sono contenuti negli schemi. Come proprietario di un nuovo catalogo, potresti voler creare gli schemi nel catalogo. È tuttavia consigliabile delegare la possibilità di creare schemi ad altri utenti assegnando loro il privilegio CREATE SCHEMA nel catalogo.

Per istruzioni dettagliate, vedere Creare schemi.

(Facoltativo) Assegnare il ruolo di amministratore del metastore

Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog, per impostazione predefinita non viene assegnato alcun ruolo di amministratore del metastore. Gli amministratori di metastore hanno alcuni privilegi che gli amministratori dell'area di lavoro non hanno.

Se necessario, è possibile assegnare un amministratore del metastore:

Per informazioni dettagliate sul ruolo di amministratore del metastore e istruzioni per assegnarlo, vedere Assegnare un amministratore del metastore.

Aggiornare le tabelle nel metastore Hive alle tabelle del Catalogo Unity

Se l'area di lavoro era in servizio prima che fosse abilitata per Unity Catalog, è probabile che abbia un metastore Hive contenente dati che si desidera continuare a utilizzare. Databricks consiglia di eseguire la migrazione delle tabelle gestite dal metastore Hive al metastore di Unity Catalog.

Vedere Aggiornare le tabelle e le viste Hive su Unity Catalog e Usare gli strumenti UCX per aggiornare l'area di lavoro su Unity Catalog.

(Facoltativo) Continuare a lavorare con il metastore Hive

Se l'area di lavoro dispone di un metastore Hive che contiene dati che si desidera continuare a usare e si sceglie di non seguire la raccomandazione di aggiornare le tabelle gestite dal metastore Hive al metastore di Unity Catalog, è possibile continuare a usare i dati nel metastore Hive insieme ai dati nel metastore di Unity Catalog.

Il metastore Hive è rappresentato nelle interfacce di Unity Catalog come un catalogo denominato hive_metastore. Per continuare a usare i dati nel metastore Hive senza dover aggiornare le query per specificare il catalogo hive_metastore, è possibile impostare il catalogo predefinito dell'area di lavoro su hive_metastore. Vedere Gestire il catalogo predefinito.

A seconda del momento in cui l'area di lavoro è stata abilitata per il Catalogo Unity, il catalogo predefinito potrebbe essere già hive_metastore.

(Facoltativo) Creare un archivio a livello di metastore

Anche se Databricks consiglia di creare una posizione di archiviazione gestita separata per ogni catalogo nel metastore (ed è possibile eseguire le stesse operazioni per gli schemi), è possibile scegliere di creare una posizione gestita a livello di metastore e usarla come risorsa di archiviazione per più cataloghi e schemi.

Se si vuole un'archiviazione a livello di metastore, è necessario assegnare anche un amministratore del metastore. Vedere (Facoltativo) Assegnare il ruolo di amministratore del metastore.

L'archiviazione a livello di metastore è necessaria solo se si usa un'integrazione del prodotto partner Databricks che si basa su percorsi di gestione temporanea personali (deprecati).

Per altre informazioni sulla gerarchia delle posizioni di archiviazione gestita, vedere Dati separati fisicamente nell'archiviazione.

Per informazioni su come aggiungere archiviazione a livello di metastore ai metastore che non dispongono di archiviazione a livello di metastore, consultare Aggiungere l'archiviazione gestita a un metastore esistente.

Nota

La maggior parte delle aree di lavoro abilitate per il catalogo Unity prima del 9 novembre 2023 ha una radice di archiviazione a livello di metastore.

Passaggi successivi