Specificare un percorso di archiviazione gestito nel catalogo unity
Un percorso di archiviazione gestito specifica un percorso nell'archiviazione di oggetti cloud per l'archiviazione dei 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 eseguono l'override dei percorsi di archiviazione definiti 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 dei dati logici, con le opzioni a livello di metastore e schema.
Le nuove aree di lavoro abilitate per Unity Catalog vengono create automaticamente senza un percorso di archiviazione gestito 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, Governance dei dati e blocchi predefiniti per l'isolamento dei dati e Creare un metastore del catalogo Unity.
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 Catalogo Unity associato | Come impostarlo | 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 MANAGED LOCATION parola chiave . |
Deve essere contenuto all'interno di una posizione esterna. |
Schema | Specificato durante la creazione dello schema usando la MANAGED LOCATION parola chiave . |
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 nel percorso gestito 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 nel percorso gestito del metastore.
Il catalogo Unity impedisce la sovrapposizione della governance della posizione. Vedere 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
oggetto per un catalogo o uno schema, la posizione specificata viene rilevata come radice di archiviazione nel catalogo unity. 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 viene rilevato come percorso di archiviazione nel catalogo unity.
È possibile specificare la stessa posizione di archiviazione gestita per più schemi e cataloghi.
Privilegi obbligatori
Gli utenti che dispongono del CREATE MANAGED STORAGE
privilegio 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 un percorso di archiviazione gestito per un metastore, vedere Aggiungere l'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 durante la MANAGED LOCATION
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 durante la MANAGED LOCATION
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. Vedere Usare le tabelle gestite e Che cosa sono i volumi del catalogo Unity?.