Condividi tramite


Abilitare la federazione del metastore Hive per un metastore Hive dell'area di lavoro esistente

Importante

Questa funzionalità si trova in anteprima pubblica.

Questo articolo illustra come eseguire la federazione del metastore Hive di Azure Databricks legacy in modo che l'organizzazione possa lavorare con il metastore Hive tables usando Unity Catalog.

Per una panoramica della federazione del metastore Hive, vedere : abilitare Unity Catalog per gestire i tables registrati in un metastore Hive.

Prima di iniziare

Esaminare il list di servizi e funzionalità supportati dalla federazione del metastore Hive: requisiti , funzionalità supportate e limitazioni.

Per ogni passaggio seguente sono elencati requisiti specifici.

Passaggio 1: Collegare Unity Catalog al metastore Hive

In questo passaggio, crei una connessione , un oggetto Unity Catalog proteggibile che specifica un percorso e credentials per accedere a un sistema di database, in questo caso il metastore Hive legacy dell'area di lavoro di Azure Databricks.

Requisiti

  • Privilegio CREATE CONNECTION del metastore Unity Catalog.

Creare la connessione

Una connessione specifica un percorso e credentials per l'accesso a un sistema di database esterno. Per creare una connessione, è possibile usare Catalog Explorer o il comando SQL CREATE CONNECTION in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.

Nota

È anche possibile usare l'API REST di Databricks o l'interfaccia della riga di comando di Databricks per creare una connessione. Vedere post /api/2.1/unity-catalog/connections e comandi Catalog Unity.

Autorizzazioni necessarie: amministratore del metastore o utente con il privilegio di CREATE CONNECTION.

Catalog Explorer

  1. Nell'area di lavoro di Azure Databricks fare clic sull'icona CatalogCatalog.

  2. Nella pagina Accesso rapido fare clic su Aggiungi dati > Aggiungi una connessione.

  3. Nella pagina informazioni di base sulla connessione della connessione guidata immettere un nome di connessione descrittivo.

  4. un tipo di connessione di metastore hive e tipo metastore di interno.

  5. (Facoltativo) Aggiungere un commento.

  6. Fare clic su Avanti.

  7. (Facoltativo) Nella pagina dettagli connessione immettere il percorso completo della directory Hive Warehouse.

    Questa operazione è necessaria solo se non si vuole usare il percorso predefinito.

  8. Fare clic su Crea connessione.

  9. Nella pagina informazioni di base Catalog, immettere un nome per il catalogesterno.

  10. Per i percorsi autorizzati, scegliere i percorsi di archiviazione nel cloud a cui è possibile accedere tramite il catalog. Solo tables che rientrano in questi percorsi possono essere interrogati tramite il catalogfederato. I percorsi devono essere coperti da località esterne. Per altre informazioni, vedere Quali sono i percorsi autorizzati?.

  11. (Facoltativo) Per percorso di archiviazione, scegliere un percorso nell'archiviazione cloud where i dati selezionati verranno archiviati per tables in questo catalog. Se non specificato, il percorso predefinito sarà il percorso radice del metastore, se presente.If not specified, the location will default to the metastore root location, if present.

  12. Fare clic su Crea catalog.

  13. Nella pagina Accessselect le aree di lavoro in cui gli utenti possono accedere alle catalog create. È possibile selectTutte le aree di lavoro hanno accessooppure fare clic su Assegna alle aree di lavoro, select le aree di lavoro e quindi fare clic su Assegna.

  14. Aggiungere un Proprietario che sarà in grado di gestire l'accesso a tutti gli oggetti nella catalog. Iniziare a digitare un utente o un gruppo nella casella di testo e quindi fare clic sull'utente o sul gruppo nei risultati restituiti.

  15. Grant privilegi nel catalog. Fare clic su Grant:

    1. Specificare i Principals che avranno accesso agli oggetti nel catalog. Iniziare a digitare un utente o un gruppo nella casella di testo e quindi fare clic sull'utente o sul gruppo nei risultati restituiti.
    2. Select le impostazioni predefinite dei privilegi di per grant a ogni utente o gruppo. Tutti gli utenti dell'account ricevono BROWSE per impostazione predefinita.
      • Select Data Reader dal menu a discesa per grantread privilegi su oggetti nel catalog.
      • Select Data Editor dal menu a discesa per grantread e modify privilegi su oggetti nel catalog.
      • select manualmente i privilegi per grant.
    3. Fare clic su Grant.
  16. Fare clic su Avanti.

  17. Nella pagina metadati, specificare coppie chiave-valore dei tag. Per altre informazioni, vedere Applicare tag a Unity Catalog oggetti proteggibili.

  18. (Facoltativo) Aggiungere un commento.

  19. Fare clic su Salva.

SQL

Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks.

CREATE CONNECTION IF NOT EXISTS <connection-name> TYPE hive_metastore
  OPTIONS (builtin true);

Passaggio 2: Creare posizioni esterne per i dati nel metastore interno legacy di Hive

In questo passaggio viene configurata una posizione esterna in Unity Catalog per regolare l'accesso alle posizioni di archiviazione su cloud che contengono i dati registrati nel metastore Hive interno legacy.

Percorsi esterni sono oggetti securizzabili di Unity Catalog che associano archiviazione credentials ai percorsi dei contenitori di archiviazione cloud. Vedere Percorsi e archiviazione esterni credentials.

Requisiti

Per i requisiti di autorizzazione per l'archiviazione cloud e Azure Databricks, vedere "Prima di iniziare" in Creare una posizione esterna per connettere l'archiviazione cloud ad Azure Databricks.

Se stai creando una posizione esterna per la radice DBFS legacy dell'area di lavoro, consulta invece "Prima di iniziare" in Creare una posizione esterna per i dati nella radice DBFS.

Opzioni per la creazione della localizzazione esterna

Il processo consigliato da Databricks per la creazione di una posizione esterna in Unity Catalog dipende dalla situazione:

Abilitare la modalità di fallback nelle posizioni esterne

Non appena si crea una posizione esterna in Unity Catalog, l'accesso al percorso rappresentato da tale posizione esterna viene applicato dalle autorizzazioni di Unity Catalog quando si eseguono query in Unity Catalog-enabled compute (singolo utente, condiviso o SQL Warehouse). Ciò può interrompere i carichi di lavoro esistenti che non dispongono delle autorizzazioni di Unity corrette Catalog per accedere al percorso.

Quando un percorso esterno è in modalità di fallback, il sistema controlla prima di tutto le autorizzazioni unity Catalog dell'entità di query per il percorso e, in caso contrario, esegue il fallback all'uso di cluster o notebook con ambito notebook esistente credentials, ad esempio profili di istanza o proprietà di configurazione di Apache Spark, in modo che i carichi di lavoro esistenti continuino a essere eseguiti senza interruzioni.

La modalità di fallback è utile quando si sta eseguendo la migrazione del carico di lavoro legacy. Dopo aver aggiornato i carichi di lavoro affinché vengano eseguiti correttamente utilizzando le autorizzazioni di Unity Catalog, è consigliabile disabilitare la modalità di fallback per impedire che vengano utilizzati credentials legacy con ambito cluster per aggirare la gestione dei dati Unity Catalog.

È possibile abilitare la modalità di fallback usando Catalog Explorer o le posizioni esterne dell'API REST di Unity Catalog.

Autorizzazioni necessarie: Proprietario della sede esterna.

Catalog Esploratore

  1. Nell'area di lavoro di Azure Databricks fare clic sull'icona CatalogCatalog.
  2. Nella pagina accesso rapido, fare clic su Dati esterni >.
  3. Select la posizione esterna che desideri update.
  4. Attivare l'interruttore modalità di fallback e fare clic su Abilita per confermare.

API

Gli esempi curl seguenti illustrano come abilitare la modalità di fallback quando si crea una posizione esterna e quando si update una posizione esterna esistente.

Creazione di una nuova posizione esterna:

curl -X POST -H 'Authorization: Bearer <token>' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations \
--data
'{
  "name": "fallback_mode_enabled_external_location",
  "url": "abfss://container-name@storage-account.dfs.core.windows.net/external_location_container/url",
  "credential_name": "external_location_credential",
  "fallback": true
  "skip_validation": true
}'

Aggiornamento di una località esterna:

curl -X PATCH \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations/<external-location-name> \
--data
 '{
   "comment": "fallback mode enabled",
   "fallback": true
  }'

Passaggio 3: Creare un catalog federato

In questo passaggio si usa la connessione creata nel passaggio 1 per creare un catalog federato in Unity Catalog che punta alla posizione esterna creata nel passaggio 2. Un catalog federato è un tipo di catalogesterna, ovvero un oggetto proteggibile in Unity Catalog che rispecchia un database o un catalog in un sistema dati esterno, consentendo di eseguire query su tali dati nell'area di lavoro di Azure Databricks, con accesso gestito da Unity Catalog. In questo caso, il catalog riprodotto è il vostro dato registrato in un metastore Hive.

Ogni volta che un utente o un flusso di lavoro interagisce con il catalogfederato, i metadati vengono sincronizzati dal metastore Hive.

Requisiti di

requisiti di autorizzazione:

Per creare l'elemento catalogesterno:

  • Il privilegio CREATE CATALOG nel metastore di Unity Catalog.
  • Proprietà della connessione o privilegio CREATE FOREIGN CATALOG sulla connessione.
  • Per immettere percorsi autorizzati per il catalogesterno, è necessario disporre del privilegio CREATE FOREIGN SECURABLE in una posizione esterna che copre tali percorsi. Il proprietario della sede esterna ha questo privilegio per impostazione predefinita.

Per lavorare con catalogstraniero:

  • Proprietà del catalog o del USE CATALOG

requisiti di calcolo:

  • Per creare il catalog usando Catalog Explorer: non è necessario alcun calcolo.
  • Per creare il catalog usando SQL: Databricks Runtime 13.3 LTS o versione successiva.
  • Per usare il catalog: un cluster condiviso in Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 o versione successiva.

Creare il catalog straniero

Per creare un catalogesterno, è possibile usare Catalog Explorer o il comando SQL CREATE FOREIGN CATALOG in un notebook di Azure Databricks o nell'editor di query SQL.

Nota

È anche possibile usare l'API Catalog Unity. Vedere Creare un catalog nella guida di riferimento all'API REST di Databricks.

  1. Nell'area di lavoro di Azure Databricks fare clic sull'icona CatalogCatalog per aprire Esplora Catalog.

  2. Nella pagina accesso rapido, fare clic sul pulsante Aggiungi dati e selectAggiungi un catalog.

  3. Immettere un nome e un tipo di di esterno.

  4. connessione creata nel passaggio 1 dall'elenco a discesa.

  5. Nel campo Percorsi autorizzati immettere i percorsi delle posizioni di archiviazione cloud definite come posizioni esterne nel passaggio 2. Ad esempio, abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance.

    I percorsi autorizzati sono un livello di sicurezza aggiunto solo per i catalogs federati. Vedi Quali sono i percorsi autorizzati?.

  6. Fare clic su Crea.

  7. (Facoltativo) Fare clic su Configura per aprire una procedura guidata che illustra la concessione delle autorizzazioni per il catalog e l'aggiunta di tag. È anche possibile eseguire questi passaggi in un secondo momento.

    Consultare Gestire i privilegi in Unity Catalog e Applicare tag agli oggetti proteggibili di Unity Catalog.

  8. (Facoltativo) Associare il catalog a aree di lavoro specifiche.

    Per impostazione predefinita, è possibile accedere a catalogs da qualsiasi area di lavoro collegata al metastore Catalog Unity (limitati dai privilegi dell'utente). Se si vuole consentire l'accesso solo da aree di lavoro specifiche, passare alla scheda aree di lavoro e assegnare le aree di lavoro. Vedere l'accesso a aree di lavoro specifiche Limitcatalog.

  9. Popolare il catalog federato con i metadati del metastore Hive.

    Ogni volta che un utente o un flusso di lavoro interagisce con il catalogfederato, i metadati vengono sincronizzati dal metastore Hive. La prima interazione popola il catalog in Unity Catalog e ne rende visibile il contenuto nell'interfaccia utente di Catalog Explorer. È possibile popolare il catalog selezionando e avviando una risorsa di calcolo supportata in Explorer Catalog. Devi essere il proprietario di catalog (in quanto creatore del catalog) oppure un utente con il privilegio di USE CATALOG.

    Eseguire il comando SQL seguente in un notebook o nell'editor di query SQL. Gli elementi tra parentesi quadre sono facoltativi. Sostituisci il segnaposto values:

    • <catalog-name>: nome per il catalog in Azure Databricks.
    • <connection-name>: nome dell'oggetto connessione creato nel passaggio 1.
    • <path1>,<path2>: I percorsi verso le posizioni di archiviazione cloud che hai definito come esterne nel passaggio 2. Ad esempio, abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance. I percorsi autorizzati sono un livello aggiuntivo di sicurezza solo per i catalogs federati. Vedi Quali sono i percorsi autorizzati?.
    CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
    OPTIONS (authorized_paths '<path1>,<path2>');
    

    Ogni volta che un utente o un flusso di lavoro interagisce con il catalogfederato, i metadati vengono sincronizzati dal metastore Hive.

Vedi anche Gestire e lavorare con catalogsesterne.