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 un percorso esterno che faccia riferimento all'archiviazione in un contenitore di archiviazione di Azure Data Lake Storage 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.
Per altre informazioni sugli usi di posizioni esterne e sulla relazione tra le credenziali di archiviazione e le posizioni esterne, vedere Gestire l'accesso all'archiviazione cloud tramite Il catalogo unity.
Prima di iniziare
Prerequisiti:
È necessario creare il contenitore di archiviazione di Azure Data Lake Storage Gen2 o il bucket Cloudflare R2 che si vuole usare come posizione esterna prima di creare l'oggetto percorso esterno in Azure Databricks.
Gli account di archiviazione di Azure Data Lake Storage Gen2 usati come posizioni esterne devono avere uno spazio dei nomi gerarchico.
È necessario avere una credenziale di archiviazione definita in Azure Databricks che consente l'accesso al percorso della posizione di archiviazione cloud. Si veda Creare credenziali di archiviazione per la connessione ad Azure Data Lake Storage Gen2 e Creare credenziali di archiviazione per la connessione a Cloudflare R2.
Requisiti di autorizzazione:
- È 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 hannoCREATE EXTERNAL LOCATION
nel metastore.
Creare manualmente una posizione esterna usando Esplora cataloghi
È possibile creare manualmente una posizione esterna usando Esplora cataloghi.
Autorizzazioni e prerequisiti: vedere Prima di iniziare.
Per creare il percorso esterno:
Accedere a un'area di lavoro collegata al metastore.
Nella barra laterale fare clic su Catalogo.
Nella pagina Accesso rapido fare clic sul pulsante Dati >esterni, passare alla scheda Percorsi esterni e fare clic su Crea percorso.
Immettere un nome percorso esterno.
Facoltativamente, copiare il percorso del contenitore da un punto di montaggio esistente (solo contenitori di Azure Data Lake Storage Gen2).
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>
or2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.Selezionare le credenziali di archiviazione che concedono l'accesso alla posizione esterna.
(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.
Cliccare su Crea.
(Facoltativo) Associare la posizione esterna a aree di lavoro specifiche.
Per impostazione predefinita, qualsiasi utente con privilegi può usare la posizione esterna in qualsiasi area di lavoro collegata al metastore. 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 (Facoltativo) Assegnare una posizione esterna a aree di lavoro specifiche.
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
oCREATE EXTERNAL VOLUME
.
Per usare Esplora cataloghi per concedere le autorizzazioni:
- Fare clic sul nome della posizione esterna per aprire il riquadro dei dettagli.
- Nella scheda Autorizzazioni fare clic su Concedi.
- 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. - Fare clic su Concedi.
- Per usare il percorso esterno per aggiungere un percorso di archiviazione gestito al metastore, al catalogo o allo schema, concedere il
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. Per le autorizzazioni e i prerequisiti necessari, vedere Prima di iniziare.
<location-name>
: nome per la posizione esterna. Selocation_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>
or2://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>'];
Se si vuole limitare l'accesso alla posizione esterna a aree di lavoro specifiche nell'account, note anche come associazione dell'area di lavoro o isolamento della posizione esterna, vedere (Facoltativo) Assegnare una posizione esterna a aree di lavoro specifiche.
(Facoltativo) Assegnare una posizione esterna a aree di lavoro specifiche
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Per impostazione predefinita, un percorso esterno è accessibile da tutte le aree di lavoro nel metastore. Ciò significa che se a un utente è stato concesso un privilegio (ad esempio READ FILES
) in tale posizione esterna, può esercitare tale privilegio da qualsiasi area di lavoro collegata al metastore. Se si usano aree di lavoro per isolare l'accesso ai dati utente, è possibile consentire l'accesso a una posizione esterna solo da aree di lavoro specifiche. Questa funzionalità è nota come associazione dell'area di lavoro o isolamento della posizione esterna.
I casi d'uso tipici per l'associazione di una posizione esterna a aree di lavoro specifiche includono:
- Garantire che i data engineer che dispongono del
CREATE EXTERNAL TABLE
privilegio in una posizione esterna contenente dati di produzione possano creare tabelle esterne in tale posizione solo in un'area di lavoro di produzione. - Assicurarsi che i data engineer che dispongono del
READ FILES
privilegio in una posizione esterna che contiene dati sensibili possano usare solo aree di lavoro specifiche per accedere a tali dati.
Per altre informazioni su come limitare altri tipi di accesso ai dati in base all'area di lavoro, vedere Limitare l'accesso al catalogo a aree di lavoro specifiche.
Importante
Le associazioni dell'area di lavoro vengono a cui si fa riferimento quando vengono esercitati privilegi rispetto alla posizione esterna. Ad esempio, se un utente crea una tabella esterna eseguendo l'istruzione CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
dall'area di lavoro, vengono eseguiti i controlli di associazione dell'area myWorkspace
di lavoro seguenti oltre ai normali controlli dei privilegi utente:
- La posizione esterna è
'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
associata amyWorkspace
? - Il catalogo
myCat
è associato a con livelloRead & Write
dimyWorkspace
accesso?
Se la posizione esterna viene successivamente non associato da myWorkspace
, la tabella esterna continua a funzionare.
Questa funzionalità consente anche di popolare un catalogo da un'area di lavoro centrale e di renderlo disponibile per altre aree di lavoro usando associazioni di catalogo, senza dover rendere disponibile anche la posizione esterna in tali altre aree di lavoro.
Associare una posizione esterna a una o più aree di lavoro
Per assegnare una posizione esterna a aree di lavoro specifiche, è possibile usare Esplora cataloghi o l'interfaccia della riga di comando di Databricks.
Autorizzazioni necessarie: amministratore metastore o proprietario della posizione esterna.
Nota
Gli amministratori metastore possono visualizzare tutte le posizioni esterne in un metastore usando Esplora cataloghi e i proprietari di posizioni esterne possono visualizzare tutte le posizioni esterne di cui sono proprietari in un metastore, indipendentemente dal fatto che la posizione esterna sia assegnata all'area di lavoro corrente. I percorsi esterni non assegnati all'area di lavoro vengono visualizzati in grigio.
Esplora cataloghi
Accedere a un'area di lavoro collegata al metastore.
Nella barra laterale fare clic su Catalogo.
Nella pagina Accesso rapido fare clic sul pulsante Dati >esterni per passare alla scheda Percorsi esterni.
Selezionare il percorso esterno e passare alla scheda Aree di lavoro .
Nella scheda Aree di lavoro deselezionare la casella di controllo Tutte le aree di lavoro hanno accesso.
Se la posizione esterna è già associata a una o più aree di lavoro, questa casella di controllo è già deselezionata.
Fare clic su Assegna alle aree di lavoro e immettere o trovare le aree di lavoro da assegnare.
Per revocare l'accesso, passare alla scheda Aree di lavoro , selezionare l'area di lavoro e fare clic su Revoca. Per consentire l'accesso da tutte le aree di lavoro, selezionare la casella di controllo Tutte le aree di lavoro con accesso .
CLI
Esistono due gruppi di comandi dell'interfaccia della riga di comando di Databricks e due passaggi necessari per assegnare una posizione esterna a un'area di lavoro.
Negli esempi seguenti sostituire <profile-name>
con il nome del profilo di configurazione dell'autenticazione di Azure Databricks. Deve includere il valore di un token di accesso personale, oltre al nome dell'istanza dell'area di lavoro e all'ID dell'area di lavoro in cui è stato generato il token di accesso personale. Consultare Autenticazione con token di accesso personale di Azure Databricks.
Usare il
external-locations
comando del gruppo diupdate
comandi per impostare la posizioneisolation mode
esterna suISOLATED
:databricks external-locations update <my-location> \ --isolation-mode ISOLATED \ --profile <profile-name>
L'impostazione predefinita
isolation-mode
èOPEN
tutte le aree di lavoro collegate al metastore.Usare il
workspace-bindings
comando del gruppo diupdate-bindings
comandi per assegnare le aree di lavoro alla posizione esterna:databricks workspace-bindings update-bindings external-location <my-location> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>
Usare le
"add"
proprietà e"remove"
per aggiungere o rimuovere associazioni dell'area di lavoro.Nota
L'associazione di sola lettura (
BINDING_TYPE_READ_ONLY
) non è disponibile per i percorsi esterni. Di conseguenza, non esiste alcun motivo per impostarebinding_type
per l'associazione di percorsi esterni.
Per elencare tutte le assegnazioni dell'area di lavoro per una posizione esterna, usare il workspace-bindings
comando del gruppo di get-bindings
comandi:
databricks workspace-bindings get-bindings external-location <my-location> \
--profile <profile-name>
Vedere anche Associazioni di aree di lavoro nelle informazioni di riferimento sull'API REST.
Annullare l'associazione di una posizione esterna da un'area di lavoro
Le istruzioni per revocare l'accesso all'area di lavoro a una posizione esterna tramite Esplora cataloghi o il gruppo di comandi dell'interfaccia della workspace-bindings
riga di comando sono incluse in Associare una posizione esterna a una o più aree di lavoro.
Passaggi successivi
- Concedere ad altri utenti l'autorizzazione per l'uso di percorsi esterni. Vedere Gestire le posizioni esterne.
- Definire percorsi di archiviazione gestiti usando percorsi esterni. Vedere Specificare un percorso di archiviazione gestito nel catalogo unity.
- Definire tabelle esterne usando percorsi esterni. Vedere Usare tabelle esterne.
- Definire volumi esterni usando percorsi esterni. Vedere Che cosa sono i volumi del catalogo Unity?.