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