Delen via


Databricks Unity Catalog integreren met OneLake

In dit scenario ziet u hoe u externe Delta-tabellen van Unity Catalog integreert met OneLake met behulp van snelkoppelingen. Nadat u deze zelfstudie hebt voltooid, kunt u uw externe Delta-tabellen in Unity Catalog automatisch synchroniseren met een Microsoft Fabric Lakehouse.

Vereisten

Voordat u verbinding maakt, moet u het volgende hebben:

Uw cloudopslagverbinding instellen

Onderzoek eerst welke opslaglocaties in Azure Data Lake Storage Gen2 (ADLS Gen2) uw Unity Catalog-tabellen gebruiken. Deze cloudopslagverbinding wordt gebruikt door OneLake-snelkoppelingen. Een cloudverbinding maken met de juiste Unity Catalog-opslaglocatie:

  1. Maak een cloudopslagverbinding die wordt gebruikt door uw Unity Catalog-tabellen. Zie hoe u een ADLS Gen2-verbinding instelt.

  2. Zodra u de verbinding hebt gemaakt, haalt u de verbindings-id op door instellingen> voor verbindingen en gateways-verbindingen>>te selecteren.

Schermopname van de ADLS Gen2-verbindings-id.

Notitie

Het verlenen van gebruikers directe toegang op opslagniveau tot opslag op externe locatie in ADLS Gen2 verleent geen machtigingen die zijn verleend of controles die worden onderhouden door Unity Catalog. Directe toegang slaat controle-, herkomst- en andere beveiligings-/bewakingsfuncties van Unity Catalog over, inclusief toegangsbeheer en machtigingen. U bent verantwoordelijk voor het beheren van directe opslagtoegang via ADLS Gen2 en ervoor zorgen dat gebruikers over de juiste machtigingen beschikken die via Fabric zijn verleend. Vermijd alle scenario's voor het verlenen van schrijftoegang op opslagniveau voor buckets die beheerde Databricks-tabellen opslaan. Als u objecten rechtstreeks wijzigt, verwijdert of ontwikkelt via opslag die oorspronkelijk door Unity Catalog is beheerd, kan dit leiden tot beschadiging van gegevens.

Het notitieblok uitvoeren

Zodra de cloudverbindings-id is verkregen, integreert u Unity Catalog-tabellen als volgt met Fabric Lakehouse:

Schermopname van de snelkoppelingenstroom van Unity Catalog naar Fabric.

  1. Importeer het notitieblok voor synchronisatie naar uw Fabric-werkruimte. Dit notebook exporteert alle metagegevens van Unity Catalog-tabellen uit een bepaalde catalogus en schema's in uw metastore.

  2. Configureer de parameters in de eerste cel van het notebook om Unity Catalog-tabellen te integreren. De Databricks-API, geverifieerd via pat-token, wordt gebruikt voor het exporteren van Unity Catalog-tabellen. Het volgende codefragment wordt gebruikt om de bronparameters (Unity Catalog) en doelparameters (OneLake) te configureren. Zorg ervoor dat u ze vervangt door uw eigen waarden.

    # 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. Voer alle cellen van het notebook uit om te beginnen met het synchroniseren van Unity Catalog Delta-tabellen naar OneLake met behulp van snelkoppelingen. Zodra het notebook is voltooid, zijn snelkoppelingen naar Unity Catalog Delta-tabellen beschikbaar in het Lakehouse-, SQL-analyse-eindpunt en het semantische model.

Het notebook plannen

Als u het notebook regelmatig wilt uitvoeren om Unity Catalog Delta-tabellen te integreren in OneLake zonder handmatig opnieuw synchroniseren/opnieuw uitvoeren, kunt u het notebook plannen of een notebookactiviteit gebruiken in een gegevenspijplijn in Fabric Data Factory.

Als u in het laatste scenario parameters van de gegevenspijplijn wilt doorgeven, wijst u de eerste cel van het notebook aan als een wisselknopparametercel en geeft u de juiste parameters in de pijplijn op.

Schermopname met parameters voor notebookactiviteit.

Andere overwegingen

  • Voor productiescenario's raden we u aan Om Databricks OAuth te gebruiken voor verificatie en Azure Key Vault om geheimen te beheren. U kunt bijvoorbeeld de hulpprogramma's voor MSSparkUtils-referenties gebruiken om toegang te krijgen tot Key Vault-geheimen.
  • Het notebook werkt met externe Delta-tabellen van Unity Catalog. Als u meerdere cloudopslaglocaties voor uw Unity Catalog-tabellen gebruikt, d.w.z. meer dan één ADLS Gen2, is het raadzaam om het notebook afzonderlijk uit te voeren door elke cloudverbinding.
  • Beheerde Delta-tabellen, weergaven, gerealiseerde weergaven, streamingtabellen en niet-Delta-tabellen worden niet ondersteund.
  • Wijzigingen in Unity Catalog-tabelschema's, zoals kolommen toevoegen/verwijderen, worden automatisch doorgevoerd in de snelkoppelingen. Sommige updates, zoals de naam van de Unity Catalog-tabel, moeten echter opnieuw worden gesynchroniseerd of opnieuw worden uitgevoerd. Dit wordt beschouwd door fab_consider_dbx_uc_table_changes de parameter.
  • Voor het schrijven van scenario's kan het gebruik van dezelfde opslaglaag in verschillende rekenengines leiden tot onbedoelde gevolgen. Zorg ervoor dat u de gevolgen begrijpt bij het gebruik van verschillende Apache Spark-berekeningsengines en runtimeversies.