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.

Al termine di questo articolo si avrà:

  • Area di lavoro abilitata per Il catalogo unity.
  • 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 non Unity-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 l'aggiornamento di identità, autorizzazioni e tabelle a Unity Catalog. Vedere Usare 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).

  • 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 usato un metastore unity esistente e che sia già stato assegnato un amministratore del metastore).

  • Nessuna risorsa di archiviazione a livello di metastore per tabelle gestite e volumi gestiti (a meno che non sia stato usato un metastore del catalogo Unity esistente con l'archiviazione a livello di metastore).

  • Un catalogo dell'area di lavoro, che, quando originariamente sottoposto a provisioning, è denominato in base all'area di lavoro.

    Tutti gli utenti dell'area di lavoro possono creare asset nello default schema in questo catalogo. Per impostazione predefinita, questo catalogo è associato all'area di lavoro, il che significa che è accessibile solo tramite l'area di lavoro. Il provisioning automatico del catalogo dell'area di lavoro durante la creazione dell'area di lavoro viene implementato gradualmente tra 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 abilitata automaticamente per Il catalogo Unity?

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

Ricerca per categorie sapere se l'area di lavoro è stata abilitata per il catalogo Unity?

Per verificare se l'area di lavoro è abilitata per Unity Catalog, chiedere all'amministratore dell'area di lavoro di Azure Databricks o all'amministratore dell'account di verificare la propria disponibilità. Vedere anche Passaggio 1: Verificare che l'area di lavoro sia abilitata per il catalogo unity.

Ricerca per categorie sapere se l'area di lavoro include un catalogo di aree di lavoro?

Alcune nuove aree di lavoro hanno un catalogo dell'area di lavoro, che, quando originariamente sottoposto a provisioning, è denominato dopo l'area di lavoro. Per determinare se l'area di lavoro ne ha una, fare clic su 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. Vedere Cos'è Unity Catalog?.

È anche necessario verificare di soddisfare i requisiti seguenti:

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

  • I ruoli e i privilegi seguenti, 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 collegare l'area di lavoro al metastore.

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

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

    Vedere Amministrazione privilegi nel catalogo unity e abilitazione automatica del catalogo Unity.

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 il catalogo Unity, in cui l'abilitazione viene definita come un metastore del catalogo Unity collegato all'area di lavoro. Se l'area di lavoro non è abilitata per Il catalogo unity, è necessario abilitare manualmente l'area di lavoro per Il catalogo Unity. Vedere Passaggi successivi se l'area di lavoro non è abilitata per Il catalogo unity.

Per confermare, eseguire una delle operazioni seguenti.

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

  1. Come amministratore dell'account Azure Databricks, accedere alla console dell'account.
  2. Fare clic su Icona Aree di lavoroAree di lavoro.
  3. Trovare l'area di lavoro e controllare la colonna Metastore . Se è presente un nome di metastore, l'area di lavoro viene collegata a un metastore del catalogo Unity e quindi abilitata per il catalogo Unity.

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. 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 del catalogo Unity e quindi abilitata per Unity Catalog.

Output del metastore corrente

Passaggi successivi se l'area di lavoro non è abilitata per Il catalogo unity

Se l'area di lavoro non è abilitata per Il catalogo unity (collegato a un metastore), il passaggio successivo dipende dal fatto che sia già stato definito un metastore del catalogo Unity per l'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. Passare a Abilita l'area di lavoro per Il catalogo unity.
  • Se non è stato definito alcun metastore del catalogo Unity per l'area dell'area di lavoro, è necessario creare un metastore e quindi collegare l'area di lavoro. Passare a Creare 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 admins di lavoro. 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.

Gli amministratori account possono anche aggiungere utenti, entità servizio e gruppi all'area di lavoro. Possono concedere all'amministratore dell'account e ai ruoli 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 (in precedenza Azure Active Directory). Per istruzioni complete, vedere Sincronizzare utenti e gruppi da Microsoft Entra ID.

Passaggio 3: Creare cluster o warehouse 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 DI SQL sono sempre conformi ai requisiti del catalogo Unity, ma alcune modalità di accesso al cluster non lo sono. Vedere Modalità di accesso.

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 sql warehouse e cluster. È anche possibile creare criteri di cluster che consentono agli utenti di creare cluster personalizzati, usando specifiche conformi al catalogo unity applicate. 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 predefinito (non amministratore) al momento dell'avvio:

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

    Per informazioni su come determinare se l'area di lavoro dispone di un catalogo di aree di lavoro, vedere Ricerca per categorie sapere se l'area di lavoro include un catalogo di aree di lavoro ?.

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

    Gli utenti dell'area di lavoro hanno il USE CATALOG privilegio per il main catalogo, che non concede la possibilità di creare o selezionare da qualsiasi oggetto nel catalogo, ma è un prerequisito per l'uso di qualsiasi oggetto nel catalogo. L'utente che ha creato il metastore è proprietario del main catalogo 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 main viene effettuato il provisioning del catalogo.

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. Passare al passaggio 5: Creare nuovi cataloghi e schemi prima di completare i passaggi descritti in questa sezione.

Privilegi di amministratore predefiniti

Alcune aree di lavoro hanno privilegi di amministratore dell'area di lavoro predefiniti al momento dell'avvio:

  • Se l'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.
    • Nessun amministratore 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 può 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 del catalogo Unity abilitate automaticamente, vedere Privilegi di amministratore dell'area di lavoro quando le aree di lavoro sono abilitate automaticamente per Unity Catalog.

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 all'area di lavoro locale users o admins ai gruppi. Per concedere privilegi ai gruppi, devono essere gruppi a livello di account.

Per informazioni dettagliate sulla gestione dei privilegi nel catalogo unity, vedere Gestire i privilegi nel catalogo unity.

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 con provisioning automatico. 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 con provisioning preliminare a cui gli utenti possono accedere per iniziare (il catalogo dell'area di lavoro o il catalogo, a seconda del modo in cui l'area di lavoro è stata abilitata per Il main catalogo unity). 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, vedere Procedure consigliate per Unity Catalog.

In qualità di amministratore del metastore, amministratore dell'area di lavoro (solo aree di lavoro abilitate automaticamente) o altro utente con privilegi 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 ha familiarità con i dati in più cataloghi che condividono la stessa posizione di archiviazione, per impostazione predefinita è possibile usare il percorso di archiviazione a livello di metastore. 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 Archiviazione gestita e Aggiungere l'archiviazione gestita a un metastore esistente.

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

    • Credenziali di archiviazione.
    • Percorso esterno che fa riferimento alle credenziali di archiviazione.

    Per un'introduzione a questi oggetti e istruzioni per la creazione di questi oggetti, vedere Connessione all'archiviazione di oggetti cloud con Il catalogo unity.

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

    Vedere Associare un catalogo a una o più aree di lavoro.

  3. Concedere privilegi al catalogo.

Per istruzioni dettagliate, vedere Creare e gestire cataloghi.

Esempio di creazione del catalogo

Nell'esempio seguente viene illustrata la creazione di un catalogo con archiviazione gestita, seguita dalla concessione del SELECT privilegio 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 e gestire 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 Catalogo Unity nel catalogo sono contenuti negli schemi. Come proprietario di un nuovo catalogo, è possibile creare gli schemi nel catalogo. È tuttavia consigliabile delegare la possibilità di creare schemi ad altri utenti assegnando loro il CREATE SCHEMA privilegio nel catalogo.

Per istruzioni dettagliate, vedere Creare e gestire schemi (database).

(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 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 nel servizio prima che fosse abilitata per Unity Catalog, è probabile che abbia un metastore Hive che contiene dati che si desidera continuare a usare. Databricks consiglia di eseguire la migrazione delle tabelle gestite dal metastore Hive al metastore di Unity Catalog.

Vedere Aggiornare tabelle e viste Hive al catalogo unity e Usare le utilità UCX per aggiornare l'area di lavoro a Unity Catalog.

(Facoltativo) Continuare a lavorare con il metastore Hive

Se l'area di lavoro ha 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 del catalogo Unity, è possibile continuare a usare i dati nel metastore Hive insieme ai dati nel metastore di Unity Catalog.

Il metastore Hive è rappresentato nelle interfacce del catalogo Unity come catalogo denominato hive_metastore. Per continuare a usare i dati nel metastore Hive senza dover aggiornare le query per specificare il hive_metastore catalogo, è 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 predefinita per più cataloghi e schemi.

Se si vuole l'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 sono vere le condizioni seguenti:

  • Si vogliono condividere notebook usando la condivisione delta da Databricks a Databricks.
  • Si usa un'integrazione del prodotto partner Databricks che si basa su percorsi di gestione temporanea personali (deprecati).

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

Per informazioni su come aggiungere l'archiviazione a livello di metastore ai metastore che non hanno nessuno, vedere 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