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.

L'archiviazione gestita a livello di metastore è facoltativa e le nuove aree di lavoro abilitate per Il catalogo Unity vengono create automaticamente senza una posizione di archiviazione gestita a livello di metastore. Azure 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 a livello di schema. Tuttavia, l'archiviazione a livello di metastore è necessaria per alcune funzionalità, ad esempio la condivisione di notebook tramite la condivisione differenziale o l'uso di percorsi di gestione temporanea personali come partner di Azure 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 CATALOG <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

La gestione dei percorsi di archiviazione viene usata per la creazione di tabelle gestite e volumi gestiti. Vedere Usare le tabelle gestite e Che cosa sono i volumi del catalogo Unity?.