Condividi tramite


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?.