Metadaten aus Databricks Unity Catalog importieren

Mit einem Knowledge Catalog-Connector (ehemals Dataplex Universal Catalog) können Sie Metadaten aus Databricks Unity Catalog direkt in Google Cloudimportieren. So können Sie Datensilos aufbrechen und müssen nicht mehr zwischen Tools wechseln.

Dieser Connector unterstützt Databricks Unity Catalog-Instanzen, die aufGoogle Cloud, Microsoft Azure oder Amazon Web Services (AWS) gehostet werden.

In der folgenden Tabelle sind die Metadaten aufgeführt, die der Databricks Unity Catalog-Connector erfasst:

Kategorie Metadaten erfasst
Technisch
  • Metastore
  • Katalog
  • Schema
  • Tabelle (verwaltete Delta, extern, Streaming, online, Feature, Apache Iceberg REST Catalog (IRC))
  • Ansicht (Standard, materialisiert)
  • Volumes
  • Funktionen und Verfahren
Operativ
  • Nutzungsmesswerte (Aufrufe über 30 und 90 Tage; Lesevorgänge, Schreibvorgänge, häufige Nutzer und häufig verknüpfte Tabellen über 30 Tage)
  • Primärschlüssel und Fremdschlüssel
Unternehmen
  • Tags (Objekt, Datenklassifizierung)
  • Datenqualität (Ergebnisse der Anomalieerkennung aus dem Monitoring der Datenqualität sowie Datendrift und benutzerdefinierte Messwerte aus dem Lakehouse-Monitoring)
  • Datenprofilerstellung (aus Lakehouse Monitoring)
  • Joins und Beziehungen
  • Inhaber, Erstellungszeit und Zeitpunkt der letzten Änderung von Tabellen und Ansichten
Semantisch
  • Messwertansicht (Dimensionen, Messwerte, Beziehungszuordnung, Zertifizierungen)
  • Inhaber der Messwertansicht
  • Nutzung der Messwertansicht (Aufrufe über 30 und 90 Tage; Lesevorgänge, Schreibvorgänge, häufige Nutzer und häufig verknüpfte Tabellen über 30 Tage)
  • Anzeigenamen (aus Messwertansichten)
  • Synonyme (aus Messwertansichten)
  • Markdown-Kommentare

Beschränkungen

Für den Databricks Unity Catalog-Connector gelten die folgenden Einschränkungen:

  • Die Herkunft wird nicht unterstützt.
  • Semantische Tags und Unternehmensglossare werden in der Integration (Genie API) nicht unterstützt.
  • Der Connector importiert die Metadaten für Ihre Iceberg-Tabellen, verknüpft die importierten Einträge jedoch nicht automatisch mit den entsprechenden Google Cloud Lakehouse Databricks Unity Catalog Iceberg REST Catalog (IRC)-Einträgen.

Hinweis

Bevor Sie Metadaten aus Databricks Unity Catalog importieren können, müssen Sie die folgenden Aufgaben ausführen:

  1. Weisen Sie die erforderlichen Rollen und Berechtigungen zu.
  2. Aktivieren Sie die Dataplex API und die BigQuery Data Transfer Service API.
  3. Erfüllen Sie die Voraussetzungen für Databricks Unity Catalog.
  4. Netzwerkvoraussetzungen erfüllen

IAM-Rollen und -Berechtigungen

Zum Erstellen und Verwalten eines Knowledge Catalog-Connector-Jobs benötigen Sie IAM-Rollen (Identity and Access Management), die Berechtigungen für Knowledge Catalog und den BigQuery Data Transfer Service gewähren.

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren eines Databricks Unity Catalog-Connectors benötigen:

Außerdem müssen Sie dem Dienst-Agent für BigQuery Data Transfer Service (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) die beiden folgenden Rollen zuweisen:

  • Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) für die Zieleintragsgruppe oder das Projekt, das sie enthält. Mit dieser Rolle kann der Dienst-Agent Metadaten in die Eintragsgruppe (dataplex.entryGroups.import) importieren.
  • Dataplex Entry and EntryLink Owner (roles/dataplex.entryOwner) für das Projekt, das die Ziel-Eintragsgruppe enthält. Mit dieser Rolle kann der Dienst-Agent Metadaten zur Nutzung, zu Geschäftsdaten und zur Datenqualität sowie Eintragslinks importieren. Sie enthält die folgenden Berechtigungen:

    • dataplex.entryGroups.useDataProfileAspect
    • dataplex.entryGroups.useDataQualityScorecardAspect
    • dataplex.entryGroups.useManagedConnectorTypes
    • dataplex.entryGroups.useReferenceEntryLink
    • dataplex.entryGroups.useSchemaAspect
    • dataplex.entryGroups.useSchemaJoinAspect
    • dataplex.entryGroups.useSchemaJoinEntryLink
    • dataplex.entryGroups.useUsageAspect
    • dataplex.entryLinks.reference

    Weisen Sie diese Rolle dem Projekt zu, nicht nur der Eintraggruppe, da beim Import die Berechtigung dataplex.entryLinks.reference für das Projekt geprüft wird. Wenn der Dienst-Agent diese Berechtigung für das Projekt nicht hat, schlägt die Übertragungsausführung mit einem Fehler wie Permission 'dataplex.entryLinks.reference' denied fehl und es werden keine Metadaten importiert.

Anstatt beide Rollen zuzuweisen, können Sie die Rolle Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner) für das Projekt zuweisen, das die Ziel-Eintragsgruppe enthält. Diese Rolle enthält die Berechtigungen beider Rollen und ermöglicht es dem Dienst-Agent außerdem, den Zugriff auf alle Eintragungsgruppen im Projekt zu erstellen, zu löschen und zu verwalten.

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

APIs aktivieren

Aktivieren Sie die Dataplex API und die BigQuery Data Transfer Service API.

APIs aktivieren

Voraussetzungen für Databricks Unity Catalog

Der für den Databricks Unity Catalog-Connector verwendete Dienstprinzipal muss die folgenden Berechtigungen in Databricks Unity Catalog haben:

  • Can use-Berechtigung für das vom Connector verwendete Databricks SQL-Warehouse.
  • BROWSE-Berechtigung für die Zielkataloge oder USE CATALOG, USE SCHEMA und SELECT für die Zielkataloge, Schemas und Tabellen oder Ansichten.
  • USE CATALOG für den Katalog system sowie USE SCHEMA und SELECT für die folgenden Systemschemas:
    • system.information_schema: erforderlich, um Kataloge, Schemas, Tabellen, Spalten, Volumes, Routinen, Einschränkungen und Tags zu lesen.
    • system.access und system.query: optional, erforderlich zum Importieren von Nutzungsmesswerten, Nutzungsstatistiken und Abfrageverlaufs-Joins.
    • system.data_quality_monitoring: optional, erforderlich, um Ergebnisse der Anomalieerkennung zu importieren.
  • Optional: USE CATALOG, USE SCHEMA und SELECT für die Lakehouse-Monitoring-Ausgabetabellen (TABLE_NAME_profile_metrics und TABLE_NAME_drift_metrics), um Datenprofilierungs- und Driftmesswerte zu importieren.

Wenn Sie auch SQL-Abfragen oder Spark-Jobs für den Remote-Databricks-Katalog ausführen möchten, lesen Sie den Hilfeartikel Cloudübergreifende Verbindung für Databricks Unity Catalog einrichten.

Netzwerkvoraussetzungen

Damit BigQuery Data Transfer Service eine sichere Verbindung zu externen Datenbanken oder Cloud-Datenquellen von Drittanbietern mit einer privaten IP-Adresse in einem privaten Netzwerk herstellen kann, konfigurieren Sie einen Netzwerkanhang über Private Service Connect.

Wenn Sie über eine öffentliche IP-Adresse eine Verbindung zu einer lokalen Umgebung oder einer in der Cloud gehosteten Instanz herstellen, ist kein Netzwerkanhang erforderlich.

Databricks Unity Catalog-Connector konfigurieren

Konfigurieren Sie einen Databricks Unity Catalog-Connector über die Google Cloud Console oder die REST API.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Knowledge Catalog“ auf.

    Zu Knowledge Catalog

  2. Klicken Sie im Navigationsmenü im Abschnitt Verwalten auf Connectors und dann auf Verbindung hinzufügen.

  3. Wählen Sie in der Liste Connectors die Karte Databricks Unity Catalog aus.

  4. Geben Sie im Abschnitt Details zur Datenquelle die Verbindungsdetails für Ihre Databricks Unity Catalog-Instanz an:

    • Wählen Sie unter Netzwerkanhang bei Bedarf einen vorhandenen Netzwerkanhang aus oder erstellen Sie einen.
    • Geben Sie den Workspace-Host, den HTTP-Pfad des SQL-Warehouse, die Client-ID und den Clientschlüssel ein.
    • Klicken Sie unter Zu übertragende Databricks-Objekte auf Durchsuchen, um die Metastores, Kataloge, Schemas oder einzelnen Objekte (Tabellen, Ansichten, Volumes, Funktionen und Prozeduren) auszuwählen, die in Knowledge Catalog importiert werden sollen. Wenn Sie einen Metastore, einen Katalog oder ein Schema auswählen, werden alle darin enthaltenen Objekte importiert.

      Sie können Objekte auch manuell im Format TYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]] eingeben, wobei TYPE für METASTORE, CATALOG, SCHEMA, TABLE, VIEW, VOLUME, FUNCTION oder PROCEDURE steht (z. B. SCHEMA:my_metastore/main/sales). Namensmuster werden nicht unterstützt.

  5. Im Abschnitt Zieleinstellungen:

    • Klicken Sie auf Durchsuchen und wählen Sie eine vorhandene Knowledge Catalog-Eintragsgruppe aus, um die importierten Metadaten zu speichern, oder klicken Sie auf Neue Eintragsgruppe erstellen.
    • Wählen Sie aus, ob Sie die Berechtigungen für die Eintragsgruppe jetzt oder später festlegen möchten. Damit Nutzer die importierten Metadaten aufrufen können, müssen Sie Berechtigungen für die Eintraggruppe festlegen. Wenn Sie dem BigQuery Data Transfer Service-Dienst-Agent auf Projektebene nicht die Rolle Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) oder die Berechtigung dataplex.entryGroups.import zugewiesen haben, weisen Sie sie dieser Eintraggruppe zu. Sie müssen die Rolle Dataplex Entry and EntryLink Owner (roles/dataplex.entryOwner) für das Projekt weiterhin zuweisen, da die Berechtigung dataplex.entryLinks.reference auf Projektebene geprüft wird. Weitere Informationen finden Sie unter IAM-Rollen und -Berechtigungen.
  6. Geben Sie im Abschnitt Konfigurationsname für Übertragung als Anzeigename einen Namen für den Metadatenimportjob ein.

  7. Konfigurieren Sie im Abschnitt Zeitplanoptionen die Häufigkeit für den Metadatenimportjob. Wenn Sie On-Demand auswählen, wird der Job nur ausgeführt, wenn Sie ihn manuell auslösen.

  8. Optional: Konfigurieren Sie im Abschnitt Benachrichtigungsoptionen eine E-Mail- oder Pub/Sub-Benachrichtigung für Jobfehler.

  9. Optional: Konfigurieren Sie im Abschnitt Erweiterte Optionen die Verschlüsselungseinstellungen. Wenn Sie einen kundenverwalteten Verschlüsselungsschlüssel (CMEK) auswählen, werden alle temporären Daten, die vor dem Start der Knowledge Catalog-Metadatenimportjobs bereitgestellt wurden, mit dem Schlüssel verschlüsselt. Der Schlüssel verschlüsselt die Metadaten in der Knowledge Catalog-Zieleintragsgruppe nicht.

  10. Klicken Sie auf Speichern.

REST

Verwenden Sie die Methode projects.locations.transferConfigs.create. Konfigurieren Sie in der Ressource TransferConfig die folgenden Felder:

  • Setzen Sie das Feld dataSourceId auf "databricks_unity".
  • Geben Sie im Feld metadataDestination den Ressourcenpfad der Ziel-Knowledge Catalog-Eintragsgruppe im Feld dataplexConfiguration.entryGroup ein: projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID.
  • Legen Sie im Feld params die folgenden Parameter fest:
    • connector.host (erforderlich): der Hostname des Databricks-Arbeitsbereichs (z. B. dbc-a1b2345c-d6e7.cloud.databricks.com).
    • connector.httpPath (erforderlich): der HTTP-Pfad des Databricks SQL Warehouse (z. B. /sql/1.0/warehouses/a1b2345c67890def).
    • connector.authentication.oauth.clientId (erforderlich): die Databricks-OAuth-Client-ID.
    • connector.authentication.oauth.clientSecret (erforderlich): der Databricks-OAuth-Clientschlüssel.
    • connector.networkAttachment (optional): der Netzwerkanhang im Format projects/PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT_ID.
    • assets (erforderlich): Die Liste der Databricks Unity Catalog-Objekte, die im Format TYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]] importiert werden sollen, z. B. ["SCHEMA:my_metastore/main/sales"].
  • Optional: Wenn Sie die OAuth-Anmeldedaten nicht in der Übertragungskonfiguration speichern möchten, speichern Sie sie in Secret Manager:
    1. Legen Sie connector.authentication.oauth.clientSecret (und optional connector.authentication.oauth.clientId) auf den Ressourcennamen der Secret-Version im Format projects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID fest und fügen Sie diese Parameternamen dem Feld paramConfig.secretManagerManagedParams hinzu.
    2. Weisen Sie dem Dienst-Agent von BigQuery Data Transfer Service des Projekts, das die Übertragungskonfiguration (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) enthält, die Rolle Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) für jedes Secret zu. Die Secrets können sich in einem anderen Projekt befinden. Wenn der Dienst-Agent ein Secret nicht lesen kann, schlägt die Ausführung fehl, bevor sie mit einem Fehler wie Failed to retrieve secret ... Permission 'secretmanager.versions.access' denied beginnt. Der BigQuery Data Transfer Service liest die Secrets zu Beginn jeder Ausführung. Wenn Sie also VERSION_ID auf latest setzen, wird ab der nächsten Ausführung ein rotiertes Secret verwendet.

Das folgende Beispiel zeigt einen TransferConfig-Anfragetext:

{
  "displayName": "databricks-unity-metadata-import",
  "dataSourceId": "databricks_unity",
  "schedule": "every 24 hours",
  "params": {
    "connector.host": "dbc-a1b2345c-d6e7.cloud.databricks.com",
    "connector.httpPath": "/sql/1.0/warehouses/a1b2345c67890def",
    "connector.authentication.oauth.clientId": "CLIENT_ID",
    "connector.authentication.oauth.clientSecret": "CLIENT_SECRET",
    "assets": [
      "SCHEMA:my_metastore/main/sales"
    ]
  },
  "metadataDestination": {
    "dataplexConfiguration": {
      "entryGroup": "projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID"
    }
  }
}

Der Job wird automatisch nach Ihrem Zeitplan ausgeführt oder Sie können ihn manuell auslösen.

Databricks Unity Catalog-Connector-Job überwachen

Sie können einen Databricks Unity Catalog-Connector-Job mit derGoogle Cloud Console oder der REST API überwachen.

Console

  1. Klicken Sie in der Google Cloud Console auf der Seite Connectors auf den Anzeigenamen des Databricks Unity Catalog-Übertragungsjobs.
  2. Klicken Sie auf dem Tab Ausführungsverlauf auf Details ansehen, um die Logs aufzurufen.
  3. Klicken Sie auf den Tab Details und dann auf den Link für die Eintraggruppe Metadatenziel, um die erstellten Einträge aufzurufen.

REST

  • Verwenden Sie die Methode projects.locations.transferConfigs.runs.list, um die Ausführungen einer Übertragungskonfiguration aufzulisten und ihren Status aufzurufen.
  • Bei jeder Ausführung werden die erfassten Metadaten mit einem Metadatenimportjob, dessen ID dts-run-RUN_ID lautet, in Knowledge Catalog importiert. Wenn Sie das Ergebnis des Imports sehen möchten, z. B. die Anzahl der erstellten Einträge, filtern Sie die Logs des Jobs in Logging mit der folgenden Abfrage:

    logName="projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fmetadata_job"
    AND resource.labels.metadata_job_id="dts-run-RUN_ID"
    
  • Wenn Sie das Ergebnis eines Imports ohne Logging aufrufen möchten, rufen Sie die Methode projects.locations.metadataJobs.get für projects/PROJECT_ID/locations/LOCATION/metadataJobs/dts-run-RUN_ID auf. Im Feld importResult wird die Anzahl der erstellten, aktualisierten, unveränderten und gelöschten Einträge und Eintragslinks angezeigt.

Databricks Unity Catalog-Metadaten suchen und ansehen

  1. Rufen Sie in der Google Cloud Console die Seite Suchen im Knowledge Catalog auf.

    Zur Suche

  2. Filtern Sie im Bereich Filter nach Databricks Unity Catalog-Assets. Verwenden Sie dazu die Abschnitte Projekt, Systeme und Typ-Aliasse. Wenn Sie nach allen Databricks Unity Catalog-Metadaten filtern möchten, wählen Sie im Abschnitt Systeme die Option Importierter Kontext und dann im Unterabschnitt Verwaltete Connectors die Option Databricks Unity aus.

  3. Geben Sie im Suchfeld einen Suchbegriff oder eine Suchanfrage in natürlicher Sprache ein. Wenn Sie beispielsweise alle Databricks Unity Catalog-Assets über die Stichwortsuche aufrufen möchten, geben Sie system=DATABRICKS ein.

    Weitere Informationen zur Suche nach Ressourcen finden Sie unter Ressourcen in Knowledge Catalog suchen. Weitere Informationen zu den Ausdrücken, die Sie im Suchfeld verwenden können, finden Sie unter Suchsyntax für Knowledge Catalog.

Sie können auch die LookupContext API verwenden, um LLM-Kontext für bestimmte Databricks Unity Catalog-Ressourcen abzurufen. Weitere Informationen finden Sie unter Kontext für Daten-Assets abrufen.

Nächste Schritte