Dela via


Hur fungerar sökvägar för data som hanteras av Unity Catalog?

Den här artikeln beskriver begränsningar kring sökvägs överlappningar i Unity Catalog, information om sökvägsbaserade åtkomstmönster för datafiler i Unity Catalog-objekt och beskriver hur Unity Catalog hanterar sökvägar för tabeller och volymer.

Kommentar

Volymer stöds endast på Databricks Runtime 13.3 LTS och senare. I Databricks Runtime 12.2 LTS och nedan kan åtgärder mot /Volumes sökvägar lyckas, men de kan bara skriva data till tillfälliga lagringsdiskar som är anslutna till beräkningskluster i stället för att spara data till Unity Catalog-volymer som förväntat.

sökvägar för Unity Catalog-objekt kan inte överlappa varandra

Unity Catalog tillämpar datastyrning genom att förhindra att hanterade kataloger av data överlappar varandra. Unity Catalog tillämpar följande regler:

  • Externa platser kan inte överlappa andra externa platser.
  • Tabeller och volymer lagrar datafiler på externa platser eller metaarkivets rotplats.
  • Volymer kan inte överlappa andra volymer.
  • Tabeller kan inte överlappa andra tabeller.
  • Tabeller och volymer kan inte överlappa varandra.
  • Hanterade lagringsplatser kan inte överlappa varandra. Se Ange en hanterad lagringsplats i Unity Catalog.
  • Externa volymer kan inte överlappa hanterade lagringsplatser.
  • Externa tabeller kan inte överlappa hanterade lagringsplatser.

Dessa regler innebär att följande begränsningar finns i Unity Catalog:

  • Du kan inte definiera en extern plats på en annan extern plats.
  • Du kan inte definiera en volym inom en annan volym.
  • Du kan inte definiera en tabell i en annan tabell.
  • Du kan inte definiera en tabell på några datafiler eller kataloger i en volym.
  • Du kan inte definiera en volym i en katalog i en tabell.

Kommentar

Du kan alltid använda sökvägsbaserad åtkomst för att skriva eller läsa datafiler från volymer, inklusive Delta Lake. Du kan inte registrera dessa datafiler som tabeller i Unity Catalog-metaarkivet.

Sökvägar för hanterade tabeller och hanterade volymer hanteras helt av Unity Catalog

När du skapar en hanterad tabell eller en hanterad volym skapar Unity Catalog en ny katalog på den Unity Catalog-konfigurerade lagringsplatsen som är associerad med det innehållande schemat. Namnet på den här katalogen genereras slumpmässigt för att undvika eventuella kollisioner med andra kataloger som redan finns.

Det här beteendet skiljer sig från hur Hive-metaarkiv skapar hanterade tabeller. Databricks rekommenderar att du alltid interagerar med hanterade Unity Catalog-tabeller med hjälp av tabellnamn och hanterade volymer i Unity Catalog med hjälp av volymsökvägar.

Sökvägar för externa tabeller och externa volymer styrs av Unity Catalog

När du skapar en extern tabell eller en extern volym anger du en sökväg på en extern plats som styrs av Unity Catalog.

Viktigt!

Databricks rekommenderar att du aldrig skapar en extern volym eller extern tabell i roten av en extern plats. Skapa i stället externa volymer och externa tabeller i underkataloger på en extern plats. Dessa rekommendationer bör bidra till att undvika överlappande sökvägar av misstag. Se Sökvägar för Unity Catalog-objekt kan inte överlappa.

För enkel användning rekommenderar Databricks att du interagerar med externa Unity Catalog-tabeller med hjälp av tabellnamn och externa volymer i Unity Catalog med hjälp av volymsökvägar.

Alternativt kan användare med tillräcklig behörighet för motsvarande Unity Catalog-objekt komma åt data från en extern tabell eller extern volym med hjälp av den fullständigt kvalificerade lagringssökvägen för molnobjekt.

Viktigt!

Unity Catalog hanterar alla behörigheter för åtkomst med hjälp av moln-URI:er till data som är associerade med externa tabeller eller externa volymer. Dessa privilegier åsidosätter alla privilegier som är associerade med externa platser. Se Behörigheter och skyddsbara objekt i Unity-katalogen

Hur kan du komma åt data i Unity Catalog?

Unity Catalog-objekt ger åtkomst till data via objektidentifierare, volymsökvägar eller moln-URI:er. Du kan använda dessa värden för att komma åt data som är associerade med volymer och tabeller.

Unity Catalog-tabeller används med hjälp av en identifierare på tre nivåer med följande mönster:

<catalog_name>.<schema_name>.<table_name>

Vad är volymfilsökvägar i Unity Catalog?

Volymer ger en filsökväg för att komma åt datafiler med följande mönster:

/Volumes/<catalog_name>/<schema_name>/<volume_name>/<path_to_file>

Moln-URI:er kräver att användarna anger drivrutinen, lagringscontaineridentifieraren och den fullständiga sökvägen till målfilerna, som i följande exempel:

abfss://<container_name>@<storage_account>.dfs.core.windows.net/<path>

I följande tabell visas de åtkomstmetoder som tillåts för Unity Catalog-objekt:

Objekt Objektidentifierare Filsökväg Moln-URI
Extern plats nej nej ja
Hanterad tabell ja nej nej
Extern tabell ja nej ja
Hanterad volym nej ja nej
Extern volym nej ja ja

Kommentar

Unity Catalog-volymer använder objektidentifierare med tre nivåer med följande mönster för hanteringskommandon (till exempel CREATE VOLUME och DROP VOLUME):

<catalog_name>.<schema_name>.<volume_name>

Om du vill arbeta med filer i volymer måste du använda sökvägsbaserad åtkomst.