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:
- Een Infrastructuurwerkruimte.
- Een Fabric Lakehouse in uw werkruimte.
- Externe Unity Catalog Delta-tabellen die zijn gemaakt in uw Azure Databricks-werkruimte.
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:
Maak een cloudopslagverbinding die wordt gebruikt door uw Unity Catalog-tabellen. Zie hoe u een ADLS Gen2-verbinding instelt.
Zodra u de verbinding hebt gemaakt, haalt u de verbindings-id op door instellingen> voor verbindingen en gateways-verbindingen>>te selecteren.
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:
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.
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
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.
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.