Integrera Databricks Unity-katalogen med OneLake
Det här scenariot visar hur du integrerar externa Delta-tabeller i Unity Catalog till OneLake med hjälp av genvägar. När du har slutfört den här självstudien kan du automatiskt synkronisera dina externa Delta-tabeller i Unity Catalog till en Microsoft Fabric Lakehouse.
Förutsättningar
Innan du ansluter måste du ha:
- En infrastrukturarbetsyta.
- Ett Fabric Lakehouse på din arbetsyta.
- Deltatabeller i den externa Unity-katalogen som skapats på din Azure Databricks-arbetsyta.
Konfigurera din molnlagringsanslutning
Granska först vilka lagringsplatser i Azure Data Lake Storage Gen2 (ADLS Gen2) som dina Unity Catalog-tabeller använder. Den här molnlagringsanslutningen används av OneLake-genvägar. Så här skapar du en molnanslutning till lämplig lagringsplats för Unity Catalog:
Skapa en molnlagringsanslutning som används av dina Unity Catalog-tabeller. Se hur du konfigurerar en ADLS Gen2-anslutning.
När du har skapat anslutningen hämtar du anslutnings-ID:t genom att >Hantera anslutningar och gatewayanslutningsinställningar.>>
Kommentar
Att ge användare direkt åtkomst på lagringsnivå till extern platslagring i ADLS Gen2 respekterar inte några behörigheter som beviljats eller granskningar som underhålls av Unity Catalog. Direktåtkomst kringgår granskning, ursprung och andra säkerhets-/övervakningsfunktioner i Unity Catalog, inklusive åtkomstkontroll och behörigheter. Du ansvarar för att hantera direkt lagringsåtkomst via ADLS Gen2 och se till att användarna har rätt behörigheter som beviljas via Fabric. Undvik alla scenarier som beviljar skrivåtkomst på direkt lagringsnivå för bucketar som lagrar Databricks-hanterade tabeller. Om du ändrar, tar bort eller utvecklar objekt direkt via lagring som ursprungligen hanterades av Unity Catalog kan det leda till att data skadas.
Köra anteckningsboken
När molnanslutnings-ID:t har hämtats integrerar du Unity Catalog-tabeller till Fabric Lakehouse på följande sätt:
Importera synkroniseringsanteckningsboken till din Infrastruktur-arbetsyta. Den här notebook-filen exporterar alla Metadata för Unity Catalog-tabeller från en viss katalog och scheman i metaarkivet.
Konfigurera parametrarna i den första cellen i notebook-filen för att integrera Unity Catalog-tabeller. Databricks-API:et, autentiserat via PAT-token, används för export av Unity Catalog-tabeller. Följande kodfragment används för att konfigurera parametrarna källa (Unity Catalog) och mål (OneLake). Se till att ersätta dem med dina egna värden.
# Databricks workspace dbx_workspace = "<databricks_workspace_url>" dbx_token = "<pat_token>" # Unity Catalog dbx_uc_catalog = "catalog1" dbx_uc_schemas = '["schema1", "schema2"]' # Fabric fab_workspace_id = "<workspace_id>" fab_lakehouse_id = "<lakehouse_id>" fab_shortcut_connection_id = "<connection_id>" # If True, UC table renames and deletes will be considered fab_consider_dbx_uc_table_changes = True
Kör alla celler i anteckningsboken för att börja synkronisera Delta-tabeller i Unity Catalog till OneLake med hjälp av genvägar. När notebook-filen är klar är genvägar till Delta-tabellerna i Unity Catalog tillgängliga i lakehouse, SQL-analysslutpunkten och semantikmodellen.
Schemalägg anteckningsboken
Om du vill köra notebook-filen med jämna mellanrum för att integrera Delta-tabeller i Unity Catalog i OneLake utan manuell omsynkronisering/omkörning kan du antingen schemalägga anteckningsboken eller använda en notebook-aktivitet i en datapipeline i Fabric Data Factory.
I det senare scenariot, om du tänker skicka parametrar från datapipelinen, anger du den första cellen i notebook-filen som en växlingsparametercell och anger lämpliga parametrar i pipelinen.
Övriga beaktanden
- För produktionsscenarier rekommenderar vi att du använder Databricks OAuth för autentisering och Azure Key Vault för att hantera hemligheter. Du kan till exempel använda verktygen för MSSparkUtils-autentiseringsuppgifter för att få åtkomst till Key Vault-hemligheter.
- Notebook-filen fungerar med externa Delta-tabeller i Unity Catalog. Om du använder flera molnlagringsplatser för dina Unity Catalog-tabeller, d.v.s. mer än en ADLS Gen2, rekommenderar vi att du kör notebook-filen separat för varje molnanslutning.
- Unity Catalog-hanterade Delta-tabeller, vyer, materialiserade vyer, strömmande tabeller och icke-Delta-tabeller stöds inte.
- Ändringar i Unity Catalog-tabellscheman som att lägga till/ta bort kolumner återspeglas automatiskt i genvägarna. Vissa uppdateringar som Unity Catalog-tabellbyte och borttagning kräver dock en omsynkronisering/omkörning av notebook-filer. Detta beaktas med
fab_consider_dbx_uc_table_changes
parameter. - För att skriva scenarier kan användning av samma lagringslager i olika beräkningsmotorer leda till oavsiktliga konsekvenser. Se till att förstå konsekvenserna när du använder olika Apache Spark-beräkningsmotorer och körningsversioner.