Specificare un percorso di archiviazione gestito nel Catalogo Unity
Una posizione di archiviazione gestita specifica una posizione nell'archiviazione di oggetti cloud per conservare i dati per tabelle gestite e volumi gestiti.
È possibile associare un percorso di archiviazione gestito a un metastore, un catalogo o uno schema. Le posizioni di archiviazione gestite a livelli inferiori nella gerarchia sovrascrivono le posizioni di archiviazione definite a livelli superiori quando vengono create tabelle gestite o volumi gestiti.
Databricks consiglia di assegnare l'archiviazione gestita a livello di catalogo per l'isolamento logico dei dati, con opzioni alternative a livello di metastore e di schema.
Le nuove aree di lavoro abilitate per Unity Catalog vengono create automaticamente senza una posizione di archiviazione gestita a livello di metastore. Tuttavia, l'archiviazione a livello di metastore è necessaria per alcune funzionalità, ad esempio l'uso di percorsi di staging personali in qualità di partner di Databricks. Vedere Abilitazione automatica di Unity Catalog, blocchi costitutivi di governance dei dati e isolamento dei dati,e Creare un metastore del Unity Catalog.
Che cos'è una posizione di archiviazione gestita?
Le posizioni di archiviazione gestite hanno le proprietà seguenti:
- Le tabelle gestite e i volumi gestiti archiviano i file di dati e metadati in percorsi di archiviazione gestiti.
- I percorsi di archiviazione gestiti non possono sovrapporsi a tabelle esterne o volumi esterni.
La tabella seguente descrive come viene dichiarata una posizione di archiviazione gestita e associata agli oggetti del catalogo Unity:
Oggetto associato al Catalogo Unity | Come impostare | Relazione con le posizioni esterne |
---|---|---|
Metastore | Configurato dall'amministratore dell'account durante la creazione del metastore. | Impossibile sovrapporsi a una posizione esterna. |
Catalogo | Specificato durante la creazione del catalogo usando la parola chiave MANAGED LOCATION . |
Deve essere contenuto all'interno di una posizione esterna. |
Schema | Specificato durante la creazione dello schema usando la parola chiave MANAGED LOCATION . |
Deve essere contenuto all'interno di una posizione esterna. |
Il percorso di archiviazione gestito che archivia i dati e i metadati per tabelle gestite e volumi gestiti usa le regole seguenti:
- Se lo schema contenitore ha una posizione gestita, i dati vengono archiviati nella posizione gestita dello schema.
- Se lo schema contenitore non dispone di una posizione gestita ma il catalogo dispone di una posizione gestita, i dati vengono archiviati nella posizione gestita del catalogo.
- Se né lo schema contenitore né il catalogo contenitore hanno una posizione gestita, i dati vengono archiviati nella posizione gestita del metastore.
Il catalogo Unity previene la sovrapposizione nella gestione delle location. Consulta Come funzionano i percorsi per i dati gestiti da Unity Catalog?.
Posizione di archiviazione gestita, radice dell'archiviazione e posizione di archiviazione
Quando si specifica un MANAGED LOCATION
per un catalogo o uno schema, la posizione fornita viene rilevata come Storage Root nel Unity Catalog. Per assicurarsi che tutte le entità gestite dispongano di una posizione univoca, Unity Catalog aggiunge sottodirectory con hash al percorso specificato, usando il formato seguente:
Object | Percorso |
---|---|
Schema | <storage-root>/__unitystorage/schemas/00000000-0000-0000-0000-000000000000 |
Catalogo | <storage-root>/__unitystorage/catalogs/00000000-0000-0000-0000-000000000000 |
Il percorso completo per la posizione di archiviazione gestita è tracciato come Posizione di Archiviazione nel Unity Catalog.
È possibile specificare la stessa posizione di archiviazione gestita per più schemi e cataloghi.
Privilegi obbligatori
Gli utenti che dispongono del privilegio CREATE MANAGED STORAGE
in una posizione esterna possono configurare percorsi di archiviazione gestiti durante la creazione del catalogo o dello schema.
Gli amministratori dell'account possono aggiungere un percorso di archiviazione gestito facoltativo a livello di metastore.
Impostare un percorso di archiviazione gestito per un metastore
Per impostare una posizione di archiviazione gestita per un metastore, consultare Aggiungere una risorsa di archiviazione gestita a un metastore esistente.
Impostare un percorso di archiviazione gestito per un catalogo
Impostare un percorso di archiviazione gestito per un catalogo usando la parola chiave MANAGED LOCATION
durante la creazione del catalogo, come nell'esempio seguente:
CREATE CATALOG <catalog-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';
È anche possibile usare Esplora cataloghi per impostare il percorso di archiviazione gestito per un catalogo. Vedere Creare cataloghi.
Impostare un percorso di archiviazione gestito per uno schema
Impostare un percorso di archiviazione gestito per uno schema usando la parola chiave MANAGED LOCATION
durante la creazione dello schema, come nell'esempio seguente:
CREATE SCHEMA <catalog>.<schema-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';
È anche possibile usare Esplora cataloghi per impostare il percorso di archiviazione gestito per uno schema. Vedere Creare schemi.
Passaggi successivi
Il catalogo unity usa automaticamente i percorsi di archiviazione gestiti quando si creano tabelle gestite e volumi gestiti. Consultare Usare tabelle gestite e Che cosa sono i volumi del Catalogo Unity?.