Ansluta till externa databaser och kataloger

Azure Databricks innehåller flera alternativ för att fråga och komma åt data i externa databaser och kataloger utan att migrera dina data. Välj metoden baserat på ditt åtkomstmönster, styrningskrav, skrivbehov och beräkningsinställningar.

Välj en metod

I följande tabell jämförs frågefederation och katalogfederation för att hjälpa dig att välja rätt metod.

Description Frågekörning Skrivstöd Governance Passar bäst för
Sökfederation Kör federerade frågor mot externa relationella databaser med JDBC, med automatisk pushdown av frågor och styrning med Unity Catalog via fjärrkataloger. Fördes över till den externa databasen med JDBC. Frågan körs på både Azure Databricks och fjärrberäkning. Stöds inte (endast läsning). Unity Catalog med extern katalog och åtkomstkontroller på tabellnivå. Ad hoc-rapportering, BI och proof-of-concept-åtkomst till driftdatabaser.
Katalogfederation Anslut externa katalogplattformar (till exempel Hive Metastore, AWS Glue eller Snowflake) så att du kan köra frågor mot deras data direkt i objektlagringen. Körs direkt mot objektlagring endast på Azure Databricks-kluster. Mer kostnadseffektiv och prestandaoptimerad än frågefederation. Stöds inte (endast läsning). Unity Catalog med extern katalog och åtkomstkontroller på tabellnivå. Migrera till Unity Catalog stegvis eller underhålla en långsiktig hybridmodell med data i en extern katalog.

Lakehouse-federationen

Lakehouse Federation är Azure Databricks plattform för frågefederation. Det ger kontrollerad, skrivskyddad åtkomst till externa data via Unity Catalog foreign catalogs, med automatisk överföring av frågor och finkorniga åtkomstkontroller på tabellnivå.

Det finns två typer av Lakehouse Federation: frågefederation och katalogfederation.

Frågefederation jämfört med katalogfederation

I följande tabell beskrivs de viktigaste skillnaderna mellan frågefederation och katalogfederation.

Frågesökväg Användningsfall Översikt över steg
Sökfederation Unity Catalog-frågor skickas ned till den externa databasen med hjälp av JDBC. Frågan körs både i Azure Databricks och med hjälp av fjärrberäkning.
  • Du behöver ad hoc-rapportering eller proof-of-concept-åtkomst till driftdata som lagras i externa databaser.
  • Du vill minimera dataflytten och upprätthålla direktåtkomst till externa system.

När källan stöder både Lakehouse Federation och Lakeflow Connect rekommenderar Azure Databricks Lakeflow Connect om prestanda på högre datavolymer och lägre svarstid är prioriteringar.
  • Skapa en anslutning i Unity Catalog med dina åtkomstautentiseringsuppgifter och JDBC-URL.
  • Skapa en extern katalog med hjälp av anslutningen.
  • Bevilja behörigheter till användare på tabeller i den externa katalogen.
  • Kör sökfrågor. Dessa skickas ned till den externa databasen.
Katalogfederation Unity Catalog-frågor har direkt åtkomst till den externa tabellen i objektlagringen. Katalogfederation är tillgängligt för plattformar som stöder direkt åtkomst till deras katalog- och lagringstjänster. Frågan körs bara på Azure Databricks beräkning, vilket innebär att katalogfederationen är mer kostnadseffektiv och prestandaoptimerad än frågefederation.
  • Du migrerar till Unity Catalog men måste stegvis fasa in data som hanteras från en extern katalog.
  • Du vill ha en långsiktig hybridmodell där vissa data finns kvar i en extern katalog och vissa data hanteras av Unity Catalog.
  • Skapa en anslutning i Unity Catalog för åtkomst till den externa katalogen.
  • Skapa en lagringsautentisering och en extern plats för tabellvägar.
  • Skapa en extern katalog med hjälp av anslutningen och den externa platsen.
  • Bevilja behörigheter till användare på tabeller i den externa katalogen.
  • Kör sökfrågor. Dessa exekveras direkt mot objektlagringen.

Datakällor som stöds

Anslut till följande källor med hjälp av frågefederation:

Anslut till följande källor med hjälp av katalogfederation:

Spark-datakällor

Med Api:et för Spark-datakälla kan du läsa från och skriva till externa databaser direkt från Azure Databricks. Använd den när Lakehouse Federation inte stöder din källa, när du behöver skrivåtkomst eller när du behöver mer kontroll över frågekörning och parallellisering.

Databricks Runtime innehåller paketerade anslutningsappar för vanliga databaser som PostgreSQL, SQL Server, MySQL, Snowflake och Redshift. För alla JDBC-kompatibla databaser kan du använda en JDBC Unity Catalog-anslutning för att ta med din egen drivrutin med centraliserad hantering av autentiseringsuppgifter. Du kan också installera anslutningsprogram från tredje part på dedikerade kluster eller skapa helt anpassade anslutningsappar i Python med hjälp av PySpark DataSource-API:et.

Installationsanvisningar och fullständig information finns i Spark-datakällor.

Ytterligare resurser