Dela via


Ange en hanterad lagringsplats i Unity Catalog

En hanterad lagringsplats anger en plats i molnobjektlagringen för lagring av data för hanterade tabeller och hanterade volymer.

Du kan associera en hanterad lagringsplats med ett metaarkiv, en katalog eller ett schema. Hanterade lagringsplatser på lägre nivåer i hierarkin åsidosätter lagringsplatser som definierats på högre nivåer när hanterade tabeller eller hanterade volymer skapas.

Databricks rekommenderar att du tilldelar hanterad lagring på katalognivå för logisk dataisolering, med metaarkivnivå och schemanivå som alternativ.

Nya arbetsytor som är aktiverade för Unity Catalog skapas automatiskt utan en hanterad lagringsplats på metaarkivnivå. Lagring på metaarkivnivå krävs dock för vissa funktioner, som att dela notebook-filer med deltadelning eller använda personliga mellanlagringsplatser som En Databricks-partner. Se Automatisk aktivering av Unity Catalog, byggstenar för datastyrning och dataisolering och Skapa ett Unity Catalog-metaarkiv.

Vad är en hanterad lagringsplats?

Hanterade lagringsplatser har följande egenskaper:

  • Hanterade tabeller och hanterade volymer lagrar data- och metadatafiler på hanterade lagringsplatser.
  • Hanterade lagringsplatser kan inte överlappa externa tabeller eller externa volymer.

I följande tabell beskrivs hur en hanterad lagringsplats deklareras och associeras med Unity Catalog-objekt:

Associerat Unity Catalog-objekt Så här ställer du in Relation till externa platser
Metaarkiv Konfigurerad av kontoadministratör när metaarkiv skapas. Det går inte att överlappa en extern plats.
Katalog Anges när katalogen skapades med hjälp av nyckelordet MANAGED LOCATION . Måste finnas på en extern plats.
Schema Anges när schemat skapades med hjälp av nyckelordet MANAGED LOCATION . Måste finnas på en extern plats.

Den hanterade lagringsplats som lagrar data och metadata för hanterade tabeller och hanterade volymer använder följande regler:

  • Om det innehållande schemat har en hanterad plats lagras data på den schemahanterade platsen.
  • Om det innehållande schemat inte har någon hanterad plats men katalogen har en hanterad plats lagras data på den kataloghanterade platsen.
  • Om varken det innehållande schemat eller den innehållande katalogen har en hanterad plats lagras data på den hanterade platsen för metaarkivet.

Unity Catalog förhindrar överlappning av platsstyrning. Se Hur fungerar sökvägar för data som hanteras av Unity Catalog?.

Hanterad lagringsplats, lagringsrot och lagringsplats

När du anger en MANAGED LOCATION för en katalog eller ett schema spåras den angivna platsen som lagringsrot i Unity Catalog. För att säkerställa att alla hanterade entiteter har en unik plats lägger Unity Catalog till hashade underkataloger till den angivna platsen med följande format:

Objekt Sökväg
Schema <storage-root>/__unitystorage/schemas/00000000-0000-0000-0000-000000000000
Katalog <storage-root>/__unitystorage/catalogs/00000000-0000-0000-0000-000000000000

Den fullständigt kvalificerade sökvägen för den hanterade lagringsplatsen spåras som lagringsplats i Unity-katalogen.

Du kan ange samma hanterade lagringsplats för flera scheman och kataloger.

Privilegier som krävs

Användare som har behörighet på CREATE MANAGED STORAGE en extern plats kan konfigurera hanterade lagringsplatser när katalogen eller schemat skapas.

Kontoadministratörer kan lägga till en valfri hanterad lagringsplats på metaarkivnivå.

Ange en hanterad lagringsplats för ett metaarkiv

Information om hur du anger en hanterad lagringsplats för ett metaarkiv finns i Lägga till hanterad lagring i ett befintligt metaarkiv.

Ange en hanterad lagringsplats för en katalog

Ange en hanterad lagringsplats för en katalog med hjälp av nyckelordet MANAGED LOCATION när katalogen skapas, som i följande exempel:

CREATE CATALOG <catalog-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

Du kan också använda Catalog Explorer för att ange den hanterade lagringsplatsen för en katalog. Se Skapa kataloger.

Ange en hanterad lagringsplats för ett schema

Ange en hanterad lagringsplats för ett schema med hjälp av nyckelordet MANAGED LOCATION när schemat skapas, som i följande exempel:

CREATE CATALOG <catalog>.<schema-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

Du kan också använda Catalog Explorer för att ange den hanterade lagringsplatsen för ett schema. Se Skapa scheman.

Nästa steg

Unity Catalog använder hanterade lagringsplatser automatiskt när du skapar hanterade tabeller och hanterade volymer. Se Arbeta med hanterade tabeller och Vad är Unity Catalog-volymer?.