Vad är kataloger i Azure Databricks?
En katalog är den primära enheten för dataorganisationen i Datastyrningsmodellen för Azure Databricks Unity Catalog. Den här artikeln ger en översikt över kataloger i Unity Catalog och hur du bäst använder dem.
Kataloger är det första lagret i Unity Catalogs namnområde på tre nivåer (catalog.schema.table-etc
). De innehåller scheman som i sin tur kan innehålla tabeller, vyer, volymer, modeller och funktioner. Kataloger registreras i ett Unity Catalog-metaarkiv i ditt Azure Databricks-konto.
Hur ska jag organisera mina data i kataloger?
När du utformar din datastyrningsmodell bör du noga överväga de kataloger som du skapar. Som den högsta nivån i organisationens datastyrningsmodell bör varje katalog representera en logisk enhet för dataisolering och en logisk kategori av dataåtkomst, vilket gör att en effektiv hierarki med bidrag kan flöda ned till scheman och de dataobjekt som de innehåller. Kataloger speglar därför ofta organisationsenheter eller livscykelomfattningar för programvaruutveckling. Du kan till exempel välja att ha en katalog för produktionsdata och en katalog för utvecklingsdata, eller en katalog för icke-kunddata och en för känsliga kunddata.
Dataisolering med hjälp av kataloger
Varje katalog har vanligtvis en egen hanterad lagringsplats för att lagra hanterade tabeller och volymer, vilket ger fysisk dataisolering på katalognivå. Du kan också välja att lagra data på metaarkivnivå, vilket ger en standardlagringsplats för kataloger som inte har en egen hanterad lagringsplats. Du kan lägga till lagring på schemanivå för mer detaljerad dataisolering.
Eftersom ditt Azure Databricks-konto har ett metaarkiv per region isoleras kataloger i sig efter region.
Mer information finns i Vad är databasobjekt i Azure Databricks? och Data är fysiskt avgränsade i lagring.
Behörigheter på katalognivå
Eftersom bidrag för ett Unity Catalog-objekt ärvs av underordnade objekt, är det mycket kraftfullt att äga en katalog eller ha breda privilegier i en katalog. Katalogägare har till exempel alla behörigheter i katalogen och objekten i katalogen, och de kan ge åtkomst till alla objekt i katalogen. Användare med SELECT
i en katalog kan läsa valfri tabell i katalogen. Användare med CREATE TABLE
i en katalog kan skapa en tabell i valfritt schema i katalogen.
För att framtvinga principen om lägsta behörighet, där användarna har den lägsta åtkomst de behöver för att utföra sina nödvändiga uppgifter, beviljar du vanligtvis endast åtkomst till de specifika objekt eller nivåer i hierarkin som användaren behöver. Men med behörigheter på katalognivå kan katalogägaren hantera vad objektägare på lägre nivå kan bevilja. Även om en användare beviljas åtkomst till ett dataobjekt på låg nivå, till exempel en tabell, kan den användaren inte komma åt tabellen om de inte också har behörigheten USE CATALOG
i katalogen som innehåller tabellen.
Mer information finns i Hantera objektägarskap för Unity Catalog, Allmänna behörighetstyper för Unity Catalog och byggstenar för datastyrning och dataisolering.
Katalogtyper
När du skapar en katalog får du två alternativ:
- Standardkatalog: den typiska katalogen, som används som den primära enheten för att organisera dina dataobjekt i Unity Catalog. Det här är den katalogtyp som beskrivs i den här artikeln.
- Utländsk katalog: ett Unity Catalog-objekt som endast används i Lakehouse Federation-scenarier . En extern katalog speglar en databas i ett externt datasystem, så att du kan utföra skrivskyddade frågor på datasystemet på din Azure Databricks-arbetsyta. Se Vad är Lakehouse Federation?.
Utöver dessa två katalogtyper etablerar Azure Databricks följande kataloger automatiskt när du skapar en ny arbetsyta:
hive_metastore
katalog: Det här är lagringsplatsen för alla data som hanteras av det äldre Hive-metaarkivet på Azure Databricks-arbetsytor. När en befintlig icke-Unity Catalog-arbetsyta konverteras till Unity Catalog visas alla objekt som är registrerade i det äldre Hive-metaarkivet i Unity Catalog ihive_metastore
katalogen. Information om hur du arbetar med Hive-metaarkivet tillsammans med Unity Catalog finns i Arbeta med Unity Catalog och det äldre Hive-metaarkivet. Hive-metaarkivet är inaktuellt och alla Azure Databricks-arbetsytor bör migreras till Unity Catalog.- Arbetsytekatalog: I alla nya arbetsytor skapas den här katalogen åt dig som standard. Vanligtvis delar den sitt namn med ditt arbetsytenamn. Om den här katalogen finns har alla användare på din arbetsyta (och endast din arbetsyta) åtkomst till den som standard, vilket gör det till en bekväm plats för användare att prova processen att skapa och komma åt dataobjekt i Unity Catalog. Se Steg 1: Bekräfta att arbetsytan är aktiverad för Unity Catalog.
Standardkatalog
En standardkatalog konfigureras för varje arbetsyta som är aktiverad för Unity Catalog. Med standardkatalogen kan du utföra dataåtgärder utan att ange en katalog. Om du utelämnar katalognamnet på den översta nivån när du utför dataåtgärder antas standardkatalogen.
Om din arbetsyta aktiverades automatiskt för Unity Catalog anges den företablerade arbetsytekatalogen som standardkatalog. En arbetsyteadministratör kan ändra standardkatalogen efter behov.
Mer information finns i Hantera standardkatalogen.
Bindning av arbetsytekatalog
Om du använder arbetsytor för att isolera åtkomsten till användardata kanske du vill använda bindningar för arbetsytekatalogen. Med bindningar för arbetsytekataloger kan du begränsa katalogåtkomsten efter arbetsytegränser. Du kan till exempel se till att arbetsyteadministratörer och användare bara kan komma åt produktionsdata i prod_catalog
från en produktionsarbetsytemiljö, prod_workspace
. Kataloger delas med alla arbetsytor som är kopplade till det aktuella metaarkivet om du inte anger en bindning. Se Ordna dina data och Begränsa katalogåtkomst till specifika arbetsytor.
Om din arbetsyta aktiverades automatiskt för Unity Catalog är den företablerade arbetsytekatalogen bunden till din arbetsyta som standard.