Creare una posizione esterna per connettere l'archiviazione cloud ad Azure Databricks

Questo articolo descrive come configurare un percorso esterno in Unity Catalog per connettere l'archiviazione cloud ad Azure Databricks.

Le posizioni esterne associano le credenziali di archiviazione del catalogo Unity ai contenitori di archiviazione di oggetti cloud. I percorsi esterni vengono usati per definire percorsi di archiviazione gestiti per cataloghi e schemi e per definire posizioni per tabelle esterne e volumi esterni.

È possibile creare una posizione esterna che faccia riferimento all'archiviazione in un contenitore di archiviazione di Azure Data Lake Archiviazione Gen2 o in un bucket Cloudflare R2.

È possibile creare una posizione esterna usando Esplora cataloghi, l'interfaccia della riga di comando di Databricks, i comandi SQL in un notebook o una query SQL di Databricks o Terraform.

Nota

Quando si definisce un volume, l'accesso URI cloud ai dati nel percorso del volume è regolato dalle autorizzazioni del volume.

Prima di iniziare

Prerequisiti:

Requisiti delle autorizzazioni:

  • È necessario avere il CREATE EXTERNAL LOCATION privilegio sia per il metastore che per le credenziali di archiviazione a cui si fa riferimento nel percorso esterno. Per impostazione predefinita, gli amministratori metastore hanno CREATE EXTERNAL LOCATION nel metastore.

Creare un percorso esterno usando Esplora cataloghi

È possibile creare manualmente una posizione esterna usando Esplora cataloghi.

Autorizzazioni e prerequisiti: vedere Prima di iniziare.

Per creare il percorso esterno:

  1. Accedere a un'area di lavoro collegata al metastore.

  2. Nella barra laterale fare clic su Icona catalogoCatalogo.

  3. Fare clic sul pulsante + Aggiungi e selezionare Aggiungi una posizione esterna.

  4. Immettere un nome percorso esterno.

  5. Facoltativamente, copiare il percorso del contenitore da un punto di montaggio esistente (solo contenitori azure Data Lake Archiviazione Gen2).

  6. Se non si esegue la copia da un punto di montaggio esistente, usare il campo URL per immettere il percorso del contenitore di archiviazione o del bucket R2 che si vuole usare come percorso esterno.

    Ad esempio, abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> o r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  7. Selezionare le credenziali di archiviazione che concedono l'accesso alla posizione esterna.

  8. (Facoltativo) Se si desidera che gli utenti abbiano accesso in sola lettura alla posizione esterna, fare clic su Opzioni avanzate e selezionare Sola lettura. Per altre informazioni, vedere Contrassegnare una posizione esterna come di sola lettura.

  9. Fai clic su Crea.

  10. Concedere l'autorizzazione per usare il percorso esterno.

    Per consentire a chiunque di usare la posizione esterna, è necessario concedere le autorizzazioni:

    • Per usare il percorso esterno per aggiungere un percorso di archiviazione gestito al metastore, al catalogo o allo schema, concedere il CREATE MANAGED LOCATION privilegio.
    • Per creare tabelle o volumi esterni, concedere CREATE EXTERNAL TABLE o CREATE EXTERNAL VOLUME.

    Per usare Esplora cataloghi per concedere le autorizzazioni:

    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 utenti, gruppi o entità servizio nel campo Entità e selezionare il privilegio che si vuole concedere.
    4. Fare clic su Concedi.

Creare un percorso esterno usando SQL

Per creare un percorso esterno usando SQL, eseguire il comando seguente in un notebook o nell'editor di query SQL. Sostituire i valori segnaposto.

Autorizzazioni e prerequisiti: vedere Prima di iniziare.

  • <location-name>: nome per la posizione esterna. Se location_name include caratteri speciali, ad esempio trattini (-), deve essere racchiuso da backtick (` `). Vedere Nomi.

  • <bucket-path>: percorso nel tenant cloud a cui questa posizione esterna concede l'accesso. Ad esempio, abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> o r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  • <storage-credential-name>: nome delle credenziali di archiviazione che autorizza la lettura e la scrittura nel percorso del contenitore di archiviazione o del bucket. Se il nome delle credenziali di archiviazione include caratteri speciali, ad esempio trattini (-), deve essere racchiuso da backtick (` `).

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

Passaggi successivi