Del via


Integrer Databricks Unity Catalog med OneLake

Bemærk

Denne artikel beskriver en manuel tilgang, hvor genveje bruges til at synkronisere Unity-katalogtabeller med OneLake. I stedet for denne tilgang anbefaler vi at bruge Mirroring Azure Databricks Unity Catalog til at bringe Databricks-tabeller ind i OneLake med automatisk synkronisering og minimal opsætning.

I dette scenarie kan du se, hvordan du integrerer eksterne Delta-tabeller i Unity Catalog i OneLake ved hjælp af genveje. Efter at have gennemført denne vejledning kan du automatisk synkronisere dine eksterne Delta-tabeller i Unity Catalog til et Microsoft Fabric-lakehouse.

Forudsætninger

Før du forbinder, skal du sikre dig, at du har:

Konfigurer din cloudlagerforbindelse

Tjek først, hvilke lagringssteder i Azure Data Lake Storage Gen2 (ADLS Gen2) dine Unity Catalog-tabeller bruger. OneLake-genveje bruger denne cloud-lagringsforbindelse. For at oprette en cloud-forbindelse til den rigtige Unity Catalog-lagringsplacering:

  1. Opret en cloudlagerforbindelse, der bruges af tabellerne i Unity Catalog. Se, hvordan du konfigurerer en ADLS Gen2-forbindelse.

  2. Efter du har oprettet forbindelsen, får du forbindelses-ID'et ved at vælge Indstillinger>Administrer forbindelser og gateways>Forbindelser>Indstillinger.

Skærmbillede, der viser ADLS Gen2-forbindelses-id.

Bemærk

Tildeling af direkte adgang til lagerniveau for brugere til eksternt placeringslager i ADLS Gen2 overholder ikke de tilladelser, der er tildelt, eller overvågninger, der vedligeholdes af Unity Catalog. Direkte adgang tilsidesætter overvågning, afstamning og andre sikkerheds-/overvågningsfunktioner i Unity Catalog, herunder adgangskontrol og tilladelser. Du er ansvarlig for at administrere direkte lageradgang via ADLS Gen2 og sikre, at brugerne har de relevante tilladelser tildelt via Fabric. Undgå alle scenarier, der giver direkte skriveadgang på lagerniveau for buckets, der lagrer databricks-administrerede tabeller. Ændring, sletning eller udvikling af objekter direkte via lager, som oprindeligt blev administreret af Unity Catalog, kan medføre beskadigelse af data.

Kør notesbogen

Når du har fået Cloud-forbindelses-ID'et, skal du tilføje Unity-katalogtabeller til dit Fabric lakehouse:

Skærmbillede, der viser flowet Unity Catalog til Fabric-genveje.

  1. Importér synkroniseringsnotesbog til dit Fabric-arbejdsområde. Denne notesbog eksporterer alle metadata for Unity Catalog-tabeller fra et givet katalog og skemaer i dit metalager.

  2. Konfigurer parametrene i den første celle i notesbogen for at integrere Unity Catalog-tabeller. Databricks-API'en, der er godkendt via PAT-tokenet, bruges til eksport af Unity Catalog-tabeller. Følgende kodestykke bruges til at konfigurere parametrene for kilden (Unity Catalog) og destinationen (OneLake). Sørg for at erstatte dem med dine egne værdier.

    # 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
    
  3. Kør alle celler i notesbogen for at begynde at synkronisere Delta-tabeller fra Unity Catalog til OneLake ved hjælp af genveje. Når notesbogen er færdig, er genveje til Unity Catalog Delta-tabeller tilgængelige i lakehouse, SQL-analyseendpoint og semantisk model.

Planlæg notesbogen

Hvis du vil køre notesbogen med jævne mellemrum for at integrere Unity Catalog Delta-tabeller i OneLake uden manuel resync eller genkørsel, kan du enten planlægge notesbogen eller bruge en notesbogsaktivitet i en pipeline inden for Fabric Data Factory.

Hvis du i sidstnævnte scenarie vil overføre parametre fra pipelinen, skal du angive den første celle i notesbogen som en til/fra-parametercelle og angive de relevante parametre i pipelinen.

Skærmbillede, der viser parametre for notesbogaktivitet.

Andre overvejelser

  • Til produktionsscenarier bruges Databricks OAuth til autentificering og Azure Key Vault til at administrere hemmeligheder. For eksempel kan du bruge MSSparkUtils login-værktøjerne til at få adgang til Key Vault-hemmeligheder.
  • Notesbogen fungerer sammen med eksterne Delta-tabeller i Unity Catalog. Hvis du bruger flere Cloud-lagringssteder til dine Unity-katalogtabeller, for eksempel mere end én ADLS Gen2, så kør notebooken separat for hver Cloud-forbindelse.
  • Unity Catalog-administrerede Delta-tabeller, visninger, materialiserede visninger, streaming-tabeller og ikke-Delta-tabeller understøttes ikke.
  • Ændringer i Unity Catalog-tabelskemaer, såsom at tilføje eller slette kolonner, opdaterer automatisk genvejene. Dog kræver nogle opdateringer, som omdøbning og sletning af Unity Catalog-tabellen, en gensynkronisering eller genkørsel af notebook. Denne adfærd styres af parameteren fab_consider_dbx_uc_table_changes .
  • Hvis du skriver scenarier, kan det medføre utilsigtede konsekvenser at bruge det samme lagerlag på tværs af forskellige beregningsprogrammer. Forstå konsekvenserne ved brug af forskellige Apache Spark-beregningsmotorer og runtime-versioner.