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 |
|
| Operativ |
|
| Unternehmen |
|
| Semantisch |
|
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:
- Weisen Sie die erforderlichen Rollen und Berechtigungen zu.
- Aktivieren Sie die Dataplex API und die BigQuery Data Transfer Service API.
- Erfüllen Sie die Voraussetzungen für Databricks Unity Catalog.
- 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:
- Zum Erstellen und Verwalten von Eintragsgruppen:
Dataplex Catalog Admin
(
roles/dataplex.catalogAdmin), Dataplex Catalog Editor (roles/dataplex.catalogEditor) oder Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner) für das Projekt. - Zum Ansehen von Databricks Unity Catalog-Metadaten: Dataplex Catalog Viewer (
roles/dataplex.catalogViewer) für das Projekt. - Zum Erstellen und Verwalten von BigQuery Data Transfer Service-Übertragungsjobs: BigQuery-Administrator (
roles/bigquery.admin) für das Projekt. - Zum Aufrufen von Logs in Cloud Logging:
Loganzeige
(
roles/logging.viewer) für das Projekt.
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.useDataProfileAspectdataplex.entryGroups.useDataQualityScorecardAspectdataplex.entryGroups.useManagedConnectorTypesdataplex.entryGroups.useReferenceEntryLinkdataplex.entryGroups.useSchemaAspectdataplex.entryGroups.useSchemaJoinAspectdataplex.entryGroups.useSchemaJoinEntryLinkdataplex.entryGroups.useUsageAspectdataplex.entryLinks.reference
Weisen Sie diese Rolle dem Projekt zu, nicht nur der Eintraggruppe, da beim Import die Berechtigung
dataplex.entryLinks.referencefü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 wiePermission 'dataplex.entryLinks.reference' deniedfehl 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.
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 oderUSE CATALOG,USE SCHEMAundSELECTfür die Zielkataloge, Schemas und Tabellen oder Ansichten.USE CATALOGfür den KatalogsystemsowieUSE SCHEMAundSELECTfür die folgenden Systemschemas:system.information_schema: erforderlich, um Kataloge, Schemas, Tabellen, Spalten, Volumes, Routinen, Einschränkungen und Tags zu lesen.system.accessundsystem.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 SCHEMAundSELECTfür die Lakehouse-Monitoring-Ausgabetabellen (TABLE_NAME_profile_metricsundTABLE_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
Rufen Sie in der Google Cloud Console die Seite „Knowledge Catalog“ auf.
Klicken Sie im Navigationsmenü im Abschnitt Verwalten auf Connectors und dann auf Verbindung hinzufügen.
Wählen Sie in der Liste Connectors die Karte Databricks Unity Catalog aus.
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, wobeiTYPEfürMETASTORE,CATALOG,SCHEMA,TABLE,VIEW,VOLUME,FUNCTIONoderPROCEDUREsteht (z. B.SCHEMA:my_metastore/main/sales). Namensmuster werden nicht unterstützt.
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 Berechtigungdataplex.entryGroups.importzugewiesen 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 Berechtigungdataplex.entryLinks.referenceauf Projektebene geprüft wird. Weitere Informationen finden Sie unter IAM-Rollen und -Berechtigungen.
Geben Sie im Abschnitt Konfigurationsname für Übertragung als Anzeigename einen Namen für den Metadatenimportjob ein.
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.
Optional: Konfigurieren Sie im Abschnitt Benachrichtigungsoptionen eine E-Mail- oder Pub/Sub-Benachrichtigung für Jobfehler.
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.
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
dataSourceIdauf"databricks_unity". - Geben Sie im Feld
metadataDestinationden Ressourcenpfad der Ziel-Knowledge Catalog-Eintragsgruppe im FelddataplexConfiguration.entryGroupein:projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID. - Legen Sie im Feld
paramsdie 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 Formatprojects/PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT_ID.assets(erforderlich): Die Liste der Databricks Unity Catalog-Objekte, die im FormatTYPE: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:
- Legen Sie
connector.authentication.oauth.clientSecret(und optionalconnector.authentication.oauth.clientId) auf den Ressourcennamen der Secret-Version im Formatprojects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/VERSION_IDfest und fügen Sie diese Parameternamen dem FeldparamConfig.secretManagerManagedParamshinzu. - 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 wieFailed to retrieve secret ... Permission 'secretmanager.versions.access' deniedbeginnt. Der BigQuery Data Transfer Service liest die Secrets zu Beginn jeder Ausführung. Wenn Sie alsoVERSION_IDauflatestsetzen, wird ab der nächsten Ausführung ein rotiertes Secret verwendet.
- Legen Sie
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
- Klicken Sie in der Google Cloud Console auf der Seite Connectors auf den Anzeigenamen des Databricks Unity Catalog-Übertragungsjobs.
- Klicken Sie auf dem Tab Ausführungsverlauf auf Details ansehen, um die Logs aufzurufen.
- 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_IDlautet, 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.getfürprojects/PROJECT_ID/locations/LOCATION/metadataJobs/dts-run-RUN_IDauf. Im FeldimportResultwird die Anzahl der erstellten, aktualisierten, unveränderten und gelöschten Einträge und Eintragslinks angezeigt.
Databricks Unity Catalog-Metadaten suchen und ansehen
Rufen Sie in der Google Cloud Console die Seite Suchen im Knowledge Catalog auf.
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.
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=DATABRICKSein.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.