Få åtkomst till Databricks-data med hjälp av externa system

Den här sidan innehåller en översikt över funktioner och rekommendationer för att göra data hanterade och styrs av Azure Databricks tillgängliga för externa system.

Dessa mönster fokuserar på scenarier där din organisation behöver integrera betrodda verktyg eller system för att Azure Databricks data. Information om hur du delar data utanför organisationen finns i Dela data och AI-tillgångar på ett säkert sätt.

Vilken extern åtkomst stöder Azure Databricks?

Azure Databricks rekommenderar att du använder Unity Catalog för att styra alla dina datatillgångar. Unity Catalog tillhandahåller integreringar till Delta Lake-klienter med hjälp av Unity REST API och Apache Iceberg-klienter med hjälp av Iceberg REST-katalogen. En fullständig lista över integreringar som stöds finns i Unity Catalog-integreringar.

Följande tabell innehåller en översikt över supportformat och åtkomstmönster för Unity Catalog-objekt.

Unity Catalog-objekt Format som stöds Åtkomstmönster
Hanterade tabeller Delta Lake, Isberg Unity REST API, Iceberg REST-katalog, Deltadelning
Externa tabeller Delta Lake Unity REST API, Iceberg REST-katalog, Deltadelning, moln-URI:er
Externa tabeller CSV, JSON, Avro, Parquet, ORC, text Unity REST API, moln-URIer
Externa volymer Alla datatyper Moln-URI:er
Externa tabeller* Delta Lake, Isberg Unity REST API, Iceberg REST-katalog (förhandsversion), Deltadelning
Externa tabeller* CSV, JSON, Avro, Parquet, ORC, text Unity REST API, moln-URIer

* Endast externa tabeller som federeras med hjälp av katalogfederation stöds. För att garantera färska läsningar från externa motorer på utländska tabeller kan kunderna regelbundet uppdatera metadata med Lakeflow-jobb.

Mer information om dessa Unity Catalog-objekt finns i följande:

Försörjning av autentiseringsuppgifter för Unity Catalog

Med behörighetsdistribution i Unity Catalog kan användare konfigurera externa klienter att ärva privilegier för data som hanteras av Azure Databricks. Både Iceberg- och Delta-klienter kan hantera autentiseringsdistribution. Se distribution av autentiseringsuppgifter för Unity Catalog för extern systemåtkomst.

Åtkomsttabeller med Delta-klienter

Använd Unity REST API för att läsa, skriva till och skapa hanterade och externa Unity Catalog-tabeller som backas upp av Delta Lake från deltaklienter som stöds. Se Access Databricks-tabeller från Delta-klienter.

Viktigt!

Att skapa och skriva till hanterade Unity Catalog-tabeller från Delta-klienter finns i Beta.

För externa tabeller styr Unity Catalog inte läsningar och skrivningar som utförs direkt mot molnobjektlagring från externa system, så du måste konfigurera ytterligare principer och autentiseringsuppgifter i ditt molnkonto för att säkerställa att datastyrningsprinciper respekteras utanför Azure Databricks.

Anmärkning

I Azure Databricks-dokumentationen visas begränsningar och kompatibilitetsöverväganden baserat på Databricks Runtime-versioner och plattformsfunktioner. Du måste bekräfta vilka läsar- och skrivprotokoll och tabellfunktioner som klienten stöder. Se delta.io.

Få åtkomst till tabeller med Iceberg-klienter

Azure Databricks ger Iceberg-klienter läs-, skriv- och skapa-stöd för tabeller som är registrerade i Unity Catalog. Klienter som stöds är Apache Spark, Apache Flink, Trino och Snowflake. Se Access Azure Databricks-tabeller från Apache Iceberg-klienter.

Dela skrivskyddade tabeller mellan domäner

Du kan använda Deltadelning för att bevilja skrivskyddad åtkomst till hanterade eller externa Delta-tabeller över domäner och system som stöds. Programvarusystemen som stöder läsningar utan kopiering av Delta Sharing-tabeller inkluderar SAP, Amperity och Oracle. Se Dela data och AI-tillgångar på ett säkert sätt.

Anmärkning

Du kan också använda Deltadelning för att bevilja skrivskyddad åtkomst till kunder eller partner. Deltadelning stödjer även data som delas via Databricks Marketplace.

Få åtkomst till icke-Delta Lake-tabelldata med externa tabeller

Externa tabeller i Unity Catalog stöder många andra format än Delta Lake, inklusive Parquet, ORC, CSV och JSON. Externa tabeller lagrar alla datafiler i kataloger på en lagringsplats för molnobjekt som anges av en moln-URI som tillhandahålls när tabellen skapas. Andra system har åtkomst till dessa datafiler direkt från molnobjektlagring.

Unity Catalog styr inte läsningar och skrivningar som utförs direkt mot molnobjektlagring från externa system, så du måste konfigurera ytterligare principer och autentiseringsuppgifter i ditt molnkonto för att säkerställa att datastyrningsprinciper respekteras utanför Azure Databricks.

Läsning och skrivning till externa tabeller från flera system kan leda till konsekvensproblem och skadade data eftersom inga transaktionsgarantier ges för andra format än Delta Lake.

Unity Catalog kanske inte hämtar nya partitioner som skrivits till externa tabeller som backas upp av andra format än Delta Lake. Databricks rekommenderar att du kör MSCK REPAIR TABLE table_name regelbundet för att säkerställa att Unity Catalog har registrerat alla datafiler som skrivits av externa system.

Åtkomst till icke-tabelldata med externa volymer

Databricks rekommenderar att externa volymer används för att lagra icke-tabellbaserade datafiler som läs- eller skrivs av externa system utöver Azure Databricks. Se Vad är Unity Catalog-volymer?.

Unity Catalog styr inte läsningar och skrivningar som utförs direkt mot molnobjektlagring från externa system, så du måste konfigurera ytterligare principer och autentiseringsuppgifter i ditt molnkonto för att säkerställa att datastyrningsprinciper respekteras utanför Azure Databricks.

Volymer tillhandahåller API:er, SDK:er och andra verktyg för att hämta filer från och placera filer i volymer. Se Arbeta med filer i Unity Catalog-volymer.

Anmärkning

Med Delta Sharing kan du dela datamängder med andra Azure Databricks-konton, men det integreras inte med externa system.