Condividi tramite


Creare un metastore di Unity Catalog

Questo articolo illustra come creare un metastore del catalogo Unity e collegarlo alle aree di lavoro.

Importante

Per le aree di lavoro abilitate automaticamente per Unity Catalog, le istruzioni in questo articolo non sono necessarie. Databricks ha iniziato ad abilitare automaticamente nuove aree di lavoro per Unity Catalog il 9 novembre 2023, con un'implementazione graduale tra gli account. È necessario seguire le istruzioni in questo articolo solo se si dispone di un'area di lavoro e non si dispone già di un metastore nell'area di lavoro. Per determinare se un metastore esiste già nell'area, vedere Abilitazione automatica del catalogo Unity.

Un metastore è il contenitore di primo livello per i dati in Unity Catalog. I metastore del catalogo Unity registrano i metadati relativi a oggetti a protezione diretta ,ad esempio tabelle, volumi, percorsi esterni e condivisioni, e le autorizzazioni che regolano l'accesso a tali oggetti. Ogni metastore espone uno spazio dei nomi a tre livelli (catalog.schema.table) in base al quale è possibile organizzare i dati. È necessario disporre di un metastore per ogni area in cui opera l'organizzazione. Per usare Unity Catalog, gli utenti devono trovarsi in un'area di lavoro collegata a un metastore nella propria area.

Per creare un metastore, eseguire le operazioni seguenti:

  1. Nell'account Azure creare facoltativamente un percorso di archiviazione per l'archiviazione a livello di metastore di tabelle e volumi gestiti.

    Per informazioni su come decidere se è necessaria l'archiviazione a livello di metastore, vedere (Facoltativo) Creare un archivio a livello di metastore e i dati sono separati fisicamente nell'archiviazione.

  2. Nell'account Azure creare un'identità gestita di Azure o un'entità servizio che concede l'accesso a tale posizione di archiviazione.

  3. In Azure Databricks creare il metastore, collegare il percorso di archiviazione e assegnare le aree di lavoro al metastore.

Nota

Oltre agli approcci descritti in questo articolo, è anche possibile creare un metastore usando il provider Databricks Terraform, in particolare la risorsa databricks_metastore . Per consentire a Unity Catalog di accedere al metastore, usare databricks_metastore_data_access. Per collegare le aree di lavoro a un metastore, usare databricks_metastore_assignment.

Operazioni preliminari

Prima di iniziare, è necessario acquisire familiarità con i concetti di base del catalogo unity, inclusi i metastore e l'archiviazione gestita. Vedere Cos'è Unity Catalog?.

È anche necessario verificare di soddisfare i requisiti seguenti per tutti i passaggi di installazione:

  • È necessario essere un amministratore dell'account Azure Databricks.

    Il primo amministratore dell'account Azure Databricks deve essere un amministratore globale di Microsoft Entra ID al momento dell'accesso alla console dell'account Azure Databricks. Al primo accesso, l'utente diventa un amministratore dell'account Azure Databricks e non ha più il ruolo di amministratore globale di Microsoft Entra ID per accedere all'account Azure Databricks. Il primo amministratore dell'account può assegnare gli utenti nel tenant di Microsoft Entra ID come amministratori di account aggiuntivi (che possono assegnare più amministratori account). Gli amministratori aggiuntivi dell'account non richiedono ruoli specifici in Microsoft Entra ID.

  • Le aree di lavoro collegate al metastore devono trovarsi nel piano Azure Databricks Premium.

  • Se si vuole configurare l'archiviazione radice a livello di metastore, è necessario disporre dell'autorizzazione per creare quanto segue nel tenant di Azure:

Passaggio 1 (facoltativo): Creare un contenitore di archiviazione per l'archiviazione gestita a livello di metastore

In questo passaggio, facoltativo, si crea un account di archiviazione e un contenitore per archiviare i dati della tabella gestita e del volume a livello di metastore. Per determinare se è necessaria l'archiviazione a livello di metastore, vedere (Facoltativo) Creare un archivio a livello di metastore.

  1. Creare un account di archiviazione per Azure Data Lake Storage Gen2.

    Questo account di archiviazione conterrà tabelle e volumi gestiti di Unity Catalog. Deve trattarsi di un account Azure Data Lake Storage Gen2 nella stessa area delle aree di lavoro di Azure Databricks. Vedere Creare un account di archiviazione da usare con Azure Data Lake Storage Gen2.

  2. Creare un contenitore di archiviazione che conterrà le tabelle gestite e i dati del volume a livello di metastore.

    È possibile creare un solo metastore per area. È necessario usare la stessa area per il metastore e il contenitore di archiviazione.

    Questo percorso di archiviazione a livello di metastore può essere sottoposto a override a livello di catalogo e schema. Vedere Specificare un percorso di archiviazione gestito nel catalogo unity.

    Prendere nota dell'URI ADLSv2 per il contenitore, nel formato seguente:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    Nei passaggi seguenti sostituire <storage-container> con questo URI.

Passaggio 2 (facoltativo): Creare un'identità gestita per accedere al percorso di archiviazione gestito

In questo passaggio, obbligatorio solo se è stato completato il passaggio 1, creare un connettore di accesso di Azure Databricks che contiene un'identità gestita e concedere l'accesso al contenitore di archiviazione.

Seguire le istruzioni in Usare le identità gestite di Azure nel catalogo unity per accedere all'archiviazione.

Nota

È possibile usare un'identità gestita di Azure o un'entità servizio come identità che consente l'accesso al contenitore di archiviazione del metastore. Databricks consiglia vivamente le identità gestite, perché non richiedono di mantenere le credenziali o ruotare i segreti e consentono di connettersi a un account Azure Data Lake Storage Gen2 protetto da un firewall di archiviazione. Per usare un'entità servizio, vedere Creare un'archiviazione gestita del catalogo Unity usando un'entità servizio (legacy).

Passaggio 3: Creare il metastore e collegare un'area di lavoro

Ogni area di Azure Databricks richiede il proprio metastore del catalogo Unity.

Si crea un metastore per ogni area in cui opera l'organizzazione. È possibile collegare ognuno di questi metastore a livello di area a un numero qualsiasi di aree di lavoro in tale area. Ogni area di lavoro collegata ha la stessa visualizzazione dei dati nel metastore e il controllo di accesso ai dati può essere gestito tra aree di lavoro. È possibile accedere ai dati in altri metastore usando la condivisione delta.

Se si sceglie di creare l'archiviazione a livello di metastore, il metastore userà il contenitore di archiviazione e l'identità gestita di Azure creata nei passaggi precedenti.

Per creare un metastore:

  1. Se si sceglie di creare l'archiviazione a livello di metastore, assicurarsi di avere il percorso del contenitore di archiviazione e l'ID risorsa del connettore di accesso di Azure Databricks creato nell'attività precedente.

  2. Accedere all'area di lavoro come amministratore dell'account.

  3. Fare clic sul nome utente nella barra superiore dell'area di lavoro di Azure Databricks e selezionare Gestisci account.

  4. Accedere alla console dell'account Azure Databricks.

  5. Fare clic su Icona catalogo Catalogo.

  6. Fare clic su Crea metastore.

  7. Immetti gli elementi seguenti:

    • Nome del metastore.

    • Area in cui verrà distribuito il metastore.

      Deve trovarsi nella stessa area delle aree di lavoro che si desidera usare per accedere ai dati. Se si sceglie di creare un contenitore di archiviazione per l'archiviazione a livello di metastore, tale area deve essere la stessa.

    • (Facoltativo) Percorso di ADLS Gen 2: immettere il percorso del contenitore di archiviazione che verrà usato come risorsa di archiviazione radice per il metastore.

      Il abfss:// prefisso viene aggiunto automaticamente.

    • (Facoltativo) ID connettore di accesso: immettere l'ID risorsa del connettore di accesso di Azure Databricks nel formato:

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. Cliccare su Crea.

  9. Quando richiesto, selezionare aree di lavoro da collegare al metastore.

    Per informazioni dettagliate, vedere Abilitare un'area di lavoro per il catalogo unity.

  10. Trasferire il ruolo di amministratore del metastore a un gruppo.

    L'utente che crea un metastore è il proprietario, detto anche amministratore del metastore. L'amministratore del metastore può creare oggetti di primo livello nel metastore, ad esempio cataloghi e può gestire l'accesso alle tabelle e ad altri oggetti. Databricks consiglia di riassegnare il ruolo di amministratore del metastore a un gruppo. Vedere Assegnare un amministratore del metastore.

  11. Abilitare la gestione di Caricamenti in volumi gestiti in Azure Databricks.

    Azure Databricks usa la condivisione di risorse tra le origini (CORS) per caricare i dati nei volumi gestiti in Unity Catalog. Vedere Configurare l'account di archiviazione del catalogo Unity per CORS.

Passaggi successivi

Aggiungere l'archiviazione gestita a un metastore esistente

L'archiviazione gestita a livello di metastore è facoltativa e non è inclusa per i metastore creati automaticamente. È possibile aggiungere l'archiviazione a livello di metastore al metastore se si preferisce un modello di isolamento dei dati che archivia i dati centralmente per più aree di lavoro. È necessaria l'archiviazione a livello di metastore se si vogliono condividere notebook usando la condivisione delta o se si è un partner di Azure Databricks che usa percorsi di gestione temporanea personali.

Vedere anche Specificare un percorso di archiviazione gestito nel catalogo unity.

Requisiti

  • È necessario avere almeno un'area di lavoro collegata al metastore del catalogo Unity.
  • Autorizzazioni di Azure Databricks necessarie:
    • Per creare una posizione esterna, è necessario essere un amministratore o un utente del metastore con i CREATE EXTERNAL LOCATION privilegi e CREATE STORAGE CREDENTIAL .
    • Per aggiungere il percorso di archiviazione alla definizione del metastore, è necessario essere un amministratore dell'account. Per istruzioni sull'abilitazione del ruolo di amministratore dell'account nell'account, vedere Stabilire il primo amministratore dell'account.
  • Autorizzazioni del tenant di Azure necessarie:
    • Autorizzazione per creare un account di archiviazione da usare con Azure Data Lake Storage Gen2. Questo account di archiviazione deve avere uno spazio dei nomi gerarchico. Vedere Creare un account di archiviazione da usare con Azure Data Lake Storage Gen2.
    • Autorizzazione per creare una nuova risorsa per contenere un'identità gestita assegnata dal sistema. A tale scopo, è necessario essere un collaboratore o proprietario di un gruppo di risorse in qualsiasi sottoscrizione nel tenant.

Passaggio 1: Creare il percorso di archiviazione

Seguire le istruzioni in Passaggio 1 (facoltativo): Creare un contenitore di archiviazione per l'archiviazione gestita a livello di metastore e passaggio 2 (facoltativo): creare un'identità gestita per accedere al percorso di archiviazione gestito per creare un contenitore di archiviazione in Azure Data Lake Storage Gen2 e un connettore di accesso di Azure Databricks che contiene un'identità gestita che ha accesso al contenitore di archiviazione.

Passaggio 2: Creare una posizione esterna nel catalogo unity

In questo passaggio viene creata una posizione esterna nel catalogo unity che fa riferimento al percorso di ADLS Gen 2 appena creato.

  1. Creare credenziali di archiviazione.

    Le credenziali di archiviazione rappresenteranno l'identità gestita di Azure creata nel passaggio 1: Creare il percorso di archiviazione.

    Seguire le istruzioni in Creare credenziali di archiviazione per la connessione ad Azure Data Lake Storage Gen2.

  2. Creare un percorso esterno che faccia riferimento alle credenziali di archiviazione create nel passaggio precedente e al contenitore di archiviazione DILS Gen 2 creato nel passaggio 1: Creare il percorso di archiviazione.

    Seguire le istruzioni in Creare una posizione esterna per connettere l'archiviazione cloud ad Azure Databricks

  3. Concedere a se stessi il CREATE MANAGED STORAGE privilegio nella posizione esterna.

    1. Fare clic sul nome della posizione esterna per aprire il riquadro dei dettagli.
    2. Nella scheda Autorizzazioni fare clic su Concedi.
    3. Nella finestra di dialogo Concedi in <external location> selezionare se stessi nel campo Entità e selezionare CREATE MANAGED STORAGE.
    4. Fare clic su Concedi.

Passaggio 3: Aggiungere il percorso di archiviazione al metastore

Dopo aver creato una posizione esterna che rappresenta il bucket di archiviazione del metastore, è possibile aggiungerla al metastore.

  1. Come amministratore dell'account, accedere alla console dell'account.

  2. Fare clic su Icona catalogo Catalogo.

  3. Fare clic sul nome del metastore.

  4. Verificare di essere l'amministratore del Metastore.

    In caso contrario, fare clic su Modifica e assegnarsi come amministratore del metastore. È possibile annullare l'assegnazione quando si esegue questa procedura.

  5. Nella scheda Configurazione, accanto al percorso di ADLS Gen 2, fare clic su Imposta.

  6. Nella finestra di dialogo Imposta radice metastore immettere il percorso di ADLS Gen 2 usato per creare il percorso esterno e fare clic su Aggiorna.

    Non è possibile modificare questo percorso dopo averlo impostato.

Eliminare un metastore

Se si chiude l'account Azure Databricks o si ha un altro motivo per eliminare l'accesso ai dati gestiti dal metastore di Unity Catalog, è possibile eliminare il metastore.

Avviso

Tutti gli oggetti gestiti dal metastore diventeranno inaccessibili usando le aree di lavoro di Azure Databricks. Questa azione non può essere annullata.

I dati e i metadati della tabella gestiti verranno eliminati automaticamente dopo 30 giorni. I dati delle tabelle esterne nell'archiviazione cloud non sono interessati dall'eliminazione del metastore.

Per eliminare un metastore:

  1. Come amministratore del metastore, accedere alla console dell'account.
  2. Fare clic su Icona catalogo Catalogo.
  3. Fare clic sul nome del metastore.
  4. Nella scheda Configurazione fare clic sul menu a tre pulsanti nell'angolo in alto a destra e selezionare Elimina.
  5. Nella finestra di dialogo di conferma immettere il nome del metastore e fare clic su Elimina.