Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln ger en översikt över de molnlagringsanslutningar som krävs för att arbeta med data med Unity Catalog, tillsammans med information om hur Unity Catalog styr åtkomsten till molnlagring och externa molntjänster.
Hur använder Unity Catalog molnlagring?
Databricks rekommenderar att du använder Unity Catalog för att hantera åtkomsten till alla data som du har lagrat i molnobjektlagring. Unity Catalog innehåller en uppsättning verktyg för att konfigurera säkra anslutningar till molnobjektlagring. Dessa anslutningar ger åtkomst till följande åtgärder:
- Mata in rådata i ett sjöhus.
- Skapa och läsa hanterade tabeller och hanterade volymer av ostrukturerade data i Unity Catalog-hanterad molnlagring.
- Registrera eller skapa externa tabeller som innehåller tabelldata och externa volymer som innehåller ostrukturerade data i molnlagring som hanteras med hjälp av molnleverantören.
- Läsa och skriva ostrukturerade data (Unity Catalog-volymer).
För att vara mer specifik använder Unity Catalog molnlagring på två primära sätt:
- Standardlagringsplatser (eller "hanterade") för hanterade tabeller och hanterade volymer (ostrukturerade, icke-tabellbaserade data) som du skapar i Databricks. Dessa hanterade lagringsplatser kan definieras på metaarkiv-, katalog- eller schemanivå. Du skapar hanterade lagringsplatser i molnleverantören, men deras livscykel hanteras helt av Unity Catalog.
- Lagringsplatser där externa tabeller och volymer lagras. Det här är tabeller och volymer vars åtkomst från Azure Databricks hanteras av Unity Catalog, men vars datalivscykel och fillayout hanteras med hjälp av din molnleverantör och andra dataplattformar. Vanligtvis använder du externa tabeller för att registrera stora mängder av dina befintliga data i Azure Databricks, eller om du också behöver skrivåtkomst till data med hjälp av verktyg utanför Azure Databricks.
Mer information om hanterade eller externa tabeller och volymer finns i Introduktion till Azure Databricks-tabeller och Vad är Unity Catalog-volymer?.
Varning
Ge inte icke-Unity Catalog-identiteter åtkomst på lagringsnivå till hanterade Unity Catalog-tabeller eller volymer. Detta äventyrar datasäkerhet och styrning.
Att ge användare, tjänsteprincipaler eller hanterade identiteter direkt åtkomst till Azure Data Lake Storage-containrar som innehåller data styrda av Unity Catalog kringgår Unity Catalog. Detta gör data tillgängliga för överbehörighet, exfiltrering och obehörig åtkomst, samtidigt som granskning och ökade hanteringskostnader kompliceras.
Direkt lagringsåtkomst stöds inte för hanterade Unity Catalog-tabeller.
Molnlagringsalternativ som stöds av Unity Catalog
Unity Catalog stöder följande molnlagringsalternativ för Azure Databricks.
Alternativ för molnlagring | Beskrivning |
---|---|
Azure Data Lake Storage-containrar | Azure Data Lake Storage är lämpligt för de flesta Användningsfall i Azure Databricks. Se Skapa en lagringsautentiseringsuppgift för att ansluta till Azure Data Lake Storage |
AWS S3-bucketar | Azure Databricks stöder skrivskyddad åtkomst över plattformar till S3-hinkar. Se Skapa en lagringsautentiseringsuppgift för anslutning till AWS S3 (skrivskyddad). |
Cloudflare R2-bucketar | Cloudflare R2 är främst avsett för användningsfall med Delta Sharing där du vill undvika avgifter för utgående data. Se Skapa en lagringsautentiseringsuppgift för anslutning till Cloudflare R2. |
DBFS-rot | DBFS-roten är en äldre molnlagringsplats. Även om Databricks rekommenderar att du inte lagrar data i DBFS-rotlagringen kan din arbetsyta göra det på grund av äldre metoder. Se Skapa en extern plats för data i DBFS-roten (äldre). |
Hur styr Unity Catalog åtkomsten till molnlagring?
För att hantera åtkomsten till den underliggande molnlagringen som innehåller tabeller och volymer använder Unity Catalog ett skyddsbart objekt som kallas extern plats, som definierar en sökväg till en molnlagringsplats och de autentiseringsuppgifter som krävs för att komma åt platsen. Dessa autentiseringsuppgifter definieras i sin tur i ett skyddsbart Objekt i Unity Catalog som kallas för lagringsautentiseringsuppgifter. Genom att bevilja och återkalla åtkomst till externa platssäkringsbara objekt i Unity Catalog styr du åtkomsten till data på molnlagringsplatsen. Genom att bevilja och återkalla åtkomst till skyddsbara lagringsautentiseringsuppgifter i Unity Catalog styr du möjligheten att skapa externa platsobjekt.
Lagringsuppgifter och externa lagringsplatser
Här är lite mer information om dessa två skyddsbara objekt:
- En lagringsautentiseringsuppgift representerar en autentiserings- och auktoriseringsmekanism för åtkomst till data som lagras i molnklientorganisationen, till exempel med hjälp av en Azure-hanterad identitet eller tjänstens huvudnamn för Azure Data Lake Storage-containrar eller en R2 API-token för Cloudflare R2-bucketar. Behörigheter som beviljas i Unity Catalog styr vilka användare och grupper som kan använda autentiseringsuppgifterna för att definiera externa platser. Behörighet att skapa och använda autentiseringsuppgifter för lagring bör endast beviljas användare som behöver skapa externa platsobjekt. Mer information finns i länkarna i Molnlagringsalternativ som stöds av Unity Catalog.
- En extern plats kombinerar en molnlagringssökväg med en lagringsautentiseringsuppgift som ger åtkomst till molnlagringssökvägen. Behörigheter som beviljas i Unity Catalog styr vilka användare och grupper som kan komma åt molnlagringssökvägen som definieras av den externa platsen. Behörighet att skapa och använda externa platser bör endast beviljas användare som behöver skapa externa tabeller, externa volymer eller hanterade lagringsplatser. Se Skapa en extern plats för att ansluta molnlagring till Azure Databricks.
Externa platser används i Unity Catalog både för externa datatillgångar, till exempel externa tabeller och externa volymer, och för hanterade datatillgångar, till exempel hanterade tabeller och hanterade volymer. Mer information om skillnaden mellan externa och hanterade datatillgångar i Unity Catalog finns i Introduktion till Azure Databricks-tabeller och Vad är Unity Catalog-volymer?.
Mer information om metodtips för att använda externa platser finns i Externa platser.
Använda externa platser när du skapar externa tabeller och volymer
Externa tabeller och externa volymer som registrerats i Unity Catalog är i princip pekare på data i molnlagring som du hanterar utanför Azure Databricks. När du skapar en extern tabell eller extern volym i Unity Catalog måste du referera till en molnlagringssökväg som ingår i ett externt platsobjekt som du har beviljats tillräcklig behörighet för. Mer information om skillnaden mellan externa och hanterade datatillgångar i Unity Catalog finns i Introduktion till Azure Databricks-tabeller och Vad är Unity Catalog-volymer?. Behörigheter finns i Bevilja behörigheter på en extern plats.
Använda externa platser när du skapar hanterad lagring
Hanterade tabeller och hanterade volymer hanteras helt av Unity Catalog. De lagras som standard på en hanterad lagringsplats, som kan definieras på metaarkiv-, katalog- eller schemanivå. När du tilldelar en hanterad lagringsplats till ett metaarkiv, en katalog eller ett schema måste du referera till ett externt platsobjekt och du måste ha tillräcklig behörighet för att kunna använda det. Se Ange en hanterad lagringsplats i Bästa praxis för Unity Catalog och Unity Catalog.
Sökvägsbaserad åtkomst till data i molnlagring
Unity Catalog har stöd för sökvägsbaserad åtkomst till externa tabeller och externa volymer med hjälp av URI:er för molnlagring, men Databricks rekommenderar att användarna läser och skriver alla Unity Catalog-tabeller med hjälp av tabellnamn och åtkomst till data i volymer med hjälp av /Volumes
sökvägar.
Volymer är det skyddsbara objekt som de flesta Azure Databricks-användare bör använda för att interagera direkt med icke-tabelldata i molnobjektlagring. Se Vad är Unity Catalog-volymer?.
Varning
Om du uppdaterar externa tabellmetadata med en icke-Databricks-klient eller använder sökvägsbaserad åtkomst inifrån Databricks synkroniseras inte metadata automatiskt med Unity Catalog. Databricks rekommenderar mot sådana metadatauppdateringar, men om du utför en sådan måste du köra MSCK REPAIR TABLE <table-name> SYNC METADATA
för att uppdatera schemat i Unity Catalog. Se även REPAIR TABLE.
Arbetsflöde för att hantera åtkomst till molnlagring i Unity Catalog
Om du vill hantera åtkomst till molnlagring med Unity Catalog gör du följande:
- Skapa ett autentiseringsobjekt för lagring som innehåller en långsiktig molnautentiseringsuppgift, till exempel en Hanterad Azure-identitet eller tjänstens huvudnamn, med åtkomst till molnlagringssökvägen.
- Skapa ett externt platsobjekt som refererar till lagringssökvägen och lagringsautentiseringsobjektet.
- Referera till en sökväg som ingår på den externa platsen när du skapar externa tabeller, externa volymer eller standardhanterade lagringsplatser. Detta kan vara den exakta sökvägen som definierats på den externa platsen eller en undersökväg.
Metodtips för Azure-molnlagring med Unity Catalog
Azure Databricks kräver att du använder Azure Data Lake Storage som Azure Storage-tjänst för data som bearbetas i Azure Databricks med hjälp av Unity Catalog-styrning. Med Azure Data Lake Storage kan du separera lagrings- och beräkningskostnader och dra nytta av den detaljerade åtkomstkontroll som tillhandahålls av Unity Catalog. Om data lagras i OneLake (Microsoft Fabric-datasjön) och bearbetas av Databricks (kringgår Unity Catalog) medför du paketerade lagrings- och beräkningskostnader. Detta kan leda till kostnader som är ungefär 3 gånger högre för läsningar och 1,6 gånger högre för skrivningar jämfört med Azure Data Lake Storage för lagring, läsning och skrivning av data. Azure Blob Storage är också inte kompatibelt med Unity Catalog.
Nästa steg
- Skapa en lagringsautentiseringsuppgift för att ansluta till Azure Data Lake Storage
- Skapa en lagringsautentiseringsuppgift för anslutning till Cloudflare R2
- Skapa en lagringsautentiseringsuppgift för anslutning till AWS S3 (skrivskyddad)
- Skapa en extern plats för att ansluta molnlagring till Azure Databricks
- Ange en hanterad lagringsplats i Unity Catalog
- Hantera autentiseringsuppgifter för lagring
- Hantera externa platser