Freigeben über


Integrieren des Databricks Unity-Katalogs in OneLake

Dieses Szenario zeigt, wie externe Delta-Tabellen aus dem Unity-Katalog mit Hilfe von Shortcuts in OneLake integriert werden können. Nach diesem Tutorial werden Sie in der Lage sein, Ihre externen Delta-Tabellen aus dem Unity-Katalog automatisch mit einem Microsoft Fabric Lakehouse zu synchronisieren.

Voraussetzungen

Bevor Sie beginnen können, benötigen Sie Folgendes:

Einrichten Ihrer Cloud Storage-Verbindung

Überprüfen Sie zunächst, welche Speicherorte in Azure Data Lake Storage Gen2 (ADLS Gen2) Ihre Unity Catalog-Tabellen verwenden. Diese Cloud-Speicherverbindung wird von OneLake-Verknüpfungen verwendet. So erstellen Sie eine Cloudverbindung mit dem entsprechenden Unity-Katalogspeicherort:

  1. Erstellen Sie eine Cloud-Speicherverbindung, die von Ihren Unity Catalog-Tabellen verwendet wird. Erfahren Sie, wie Sie eine ADLS Gen2-Verbindung einrichten.

  2. Nachdem Sie die Verbindung erstellt haben, rufen Sie die Verbindungs-ID ab, indem Sie Einstellungen>Verbindungen und Gateways verwalten>Verbindungen>Einstellungen auswählen.

Screenshot der ADLS Gen2-Verbindungs-ID.

Hinweis

Die Gewährung von direktem Speicherzugriff auf externe Speicherorte in ADLS Gen2 berücksichtigt keine von Unity Catalog gewährten Berechtigungen oder durchgeführten Audits. Der direkte Zugriff umgeht Überwachung, Herkunft und andere Sicherheits- und Überwachungsfunktionen von Unity Catalog, einschließlich Zugriffskontrolle und Berechtigungen. Sie sind für die Verwaltung des direkten Speicherzugriffs über ADLS Gen2 verantwortlich und stellen sicher, dass die Benutzer die entsprechenden Berechtigungen über Fabric erhalten. Vermeiden Sie alle Szenarien, die direkten Schreibzugriff auf Speicherebene für Buckets gewähren, die von Databricks verwaltete Tabellen speichern. Das Ändern, Löschen oder Entwickeln von Objekten direkt über den Speicher, die ursprünglich von Unity Catalog verwaltet wurden, kann zu einer Datenbeschädigung führen.

Ausführen des Notebooks

Sobald Sie die Cloud-Verbindungs-ID erhalten haben, integrieren Sie die Tabellen des Unity-Katalogs wie folgt in das Fabric Lakehouse:

Screenshot zeigt den Flow von Unity Catalog zu Fabric Shortcuts.

  1. Importieren Sie Synchronisierungs-Notebook in Ihren Fabric-Arbeitsbereich. Dieses Notizbuch exportiert alle Metadaten von Unity-Katalogtabellen aus einem bestimmten Katalog und Schemata in Ihrem Metastore.

  2. Konfigurieren Sie die Parameter in der ersten Zelle des Notebooks, um Unity Catalog-Tabellen zu integrieren. Für den Export von Unity-Catalog-Tabellen wird die Databricks-API verwendet, die durch PAT-Token authentifiziert wird. Der folgende Codeschnipsel wird verwendet, um die Quellparameter (Unity Catalog) und Zielparameter (OneLake) zu konfigurieren. Diese müssen durch Ihre eigenen Werte ersetzt werden.

    # 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. Führen Sie alle Zellen des Notebooks aus, um mit der Synchronisierung von Unity Catalog Delta-Tabellen mit OneLake mithilfe von Tastenkombinationen zu beginnen. Nach Abschluss des Notebooks stehen Verknüpfungen zu Unity Catalog Delta-Tabellen im Lakehouse, SQL-Analysenendpunkt und semantischen Modell zur Verfügung.

Planen des Notebooks

Wenn Sie das Notebook in regelmäßigen Abständen ausführen möchten, um Unity Catalog Delta-Tabellen in OneLake zu integrieren, ohne dass eine manuelle Neusynchronisierung/ein erneuter Lauf erforderlich ist, können Sie das Notebook entweder planen oder eine Notebook-Aktivität in einer Datenpipeline innerhalb von Fabric Data Factory verwenden.

Wenn Sie im letzten Szenario Parameter aus der Datenpipeline übergeben möchten, legen Sie die erste Zelle des Notebooks als Umschaltparameterzelle fest und stellen Sie die entsprechenden Parameter in der Pipeline bereit.

Screenshot mit Notebook-Aktivitätsparametern.

Andere Aspekte

  • Für Produktionsszenarien empfehlen wir die Verwendung von Databricks OAuth für die Authentifizierung und Azure Key Vault für die Verwaltung von Geheimnissen. Sie können zum Beispiel die MSSparkUtils-Dienstprogramme für Anmeldeinformationen verwenden, um auf die Geheimnisse des Schlüsseltresors zuzugreifen.
  • Das Notebook funktioniert mit externen Delta-Tabellen im Unity-Katalog. Wenn Sie mehrere Cloud-Speicherorte für Ihre Unity-Katalog-Tabellen verwenden, d. h. mehr als einen ADLS Gen2, wird empfohlen, das Notebook für jede Cloud-Verbindung separat auszuführen.
  • Von Unity Catalog verwaltete Delta-Tabellen, Ansichten, materialisierte Ansichten, Streaming-Tabellen und Nicht-Delta-Tabellen werden nicht unterstützt.
  • Änderungen an den Tabellenschemata des Unity-Katalogs, wie das Hinzufügen/Löschen von Spalten, werden automatisch in den Verknüpfungen berücksichtigt. Einige Aktualisierungen, wie das Umbenennen und Löschen von Tabellen im Unity-Katalog, erfordern jedoch eine erneute Synchronisierung/einen erneuten Start des Notebooks. Dies wird von fab_consider_dbx_uc_table_changes-Parametern berücksichtigt.
  • Bei Schreibszenarien kann die Verwendung derselben Speicherebene für verschiedene Recheneinheiten zu unbeabsichtigten Folgen führen. Achten Sie darauf, dass Sie die Auswirkungen bei der Verwendung verschiedener Apache Spark-Compute-Engines und -Laufzeitversionen verstehen.