Elimina i silos di dati ed evita di passare da uno strumento all'altro utilizzando un connettore Knowledge Catalog (in precedenza Dataplex Universal Catalog) per importare i metadati da Databricks Unity Catalog direttamente in Google Cloud.
Questo connettore supporta le istanze di Databricks Unity Catalog ospitate su Google Cloud, Microsoft Azure o Amazon Web Services (AWS).
La tabella seguente elenca i metadati acquisiti dal connettore Databricks Unity Catalog:
| Categoria | Metadati acquisiti |
|---|---|
| Tecnico |
|
| Operativo |
|
| Business |
|
| Semantici |
|
Limitazioni
Il connettore Databricks Unity Catalog presenta le seguenti limitazioni:
- La derivazione non è supportata.
- I tag semantici e i glossari aziendali non sono supportati nell'integrazione (API Genie).
- Il connettore importa i metadati per le tabelle Iceberg, ma non collega automaticamente le voci importate alle voci corrispondenti di Google Cloud Lakehouse Databricks Unity Catalog Iceberg REST Catalog (IRC).
Prima di iniziare
Prima di poter importare i metadati da Databricks Unity Catalog, completa le seguenti attività:
- Concedi i ruoli e le autorizzazioni richiesti.
- Abilita l'API Dataplex e l'API BigQuery Data Transfer Service.
- Soddisfa i prerequisiti di Databricks Unity Catalog.
- Soddisfare i prerequisiti di rete.
Ruoli e autorizzazioni IAM
Per creare e gestire un job del connettore di Knowledge Catalog, devi disporre di ruoli Identity and Access Management (IAM) che concedono le autorizzazioni per Knowledge Catalog e BigQuery Data Transfer Service.
Per ottenere le autorizzazioni necessarie per configurare un connettore Databricks Unity Catalog, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Per creare e gestire i gruppi di voci:
Dataplex Catalog Admin
(
roles/dataplex.catalogAdmin), Dataplex Catalog Editor (roles/dataplex.catalogEditor) o Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner) nel progetto. - Per visualizzare i metadati di Databricks Unity Catalog:
Dataplex Catalog Viewer
(
roles/dataplex.catalogViewer) nel progetto. - Per creare e gestire i job di trasferimento di BigQuery Data Transfer Service:
Amministratore BigQuery
(
roles/bigquery.admin) sul progetto. - Per visualizzare i log in Cloud Logging:
Visualizzatore log
(
roles/logging.viewer) nel progetto.
Devi inoltre concedere all'agente di servizio BigQuery Data Transfer Service (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) entrambi i seguenti ruoli:
- Dataplex Entry Group Importer
(
roles/dataplex.entryGroupImporter), sul gruppo di voci di destinazione o sul progetto che lo contiene. Questo ruolo consente all'agente di servizio di importare i metadati nel gruppo di voci (dataplex.entryGroups.import). Dataplex Entry and EntryLink Owner (
roles/dataplex.entryOwner), nel progetto che contiene il gruppo di voci di destinazione. Questo ruolo consente all'agente di servizio di importare metadati di utilizzo, aziendali e di qualità dei dati, nonché link alle voci. Include le seguenti autorizzazioni:dataplex.entryGroups.useDataProfileAspectdataplex.entryGroups.useDataQualityScorecardAspectdataplex.entryGroups.useManagedConnectorTypesdataplex.entryGroups.useReferenceEntryLinkdataplex.entryGroups.useSchemaAspectdataplex.entryGroups.useSchemaJoinAspectdataplex.entryGroups.useSchemaJoinEntryLinkdataplex.entryGroups.useUsageAspectdataplex.entryLinks.reference
Concedi questo ruolo al progetto, non solo al gruppo di voci, perché l'importazione controlla l'autorizzazione
dataplex.entryLinks.referencesul progetto. Se l'agente di servizio non dispone di questa autorizzazione per il progetto, l'esecuzione del trasferimento non riesce e viene visualizzato un errore comePermission 'dataplex.entryLinks.reference' denied. Inoltre, non vengono importati metadati.
Anziché concedere entrambi i ruoli, puoi concedere il ruolo Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner) al progetto che contiene il gruppo di voci di destinazione. Questo ruolo include le autorizzazioni di entrambi i ruoli e consente inoltre all'agente di servizio di creare, eliminare e gestire l'accesso a tutti i gruppi di voci nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso.
Abilita API
Abilita l'API Dataplex e l'API BigQuery Data Transfer Service.
Prerequisiti di Databricks Unity Catalog
L'entità servizio utilizzata per il connettore Databricks Unity Catalog deve disporre delle seguenti autorizzazioni in Databricks Unity Catalog:
- Autorizzazione
Can usesul data warehouse Databricks SQL utilizzato dal connettore. - Privilegio
BROWSEsui cataloghi di destinazione oUSE CATALOG,USE SCHEMAeSELECTsu cataloghi, schemi e tabelle o viste di destinazione. USE CATALOGsul catalogosystem, oltre aUSE SCHEMAeSELECTsui seguenti schemi di sistema:system.information_schema: obbligatorio per leggere cataloghi, schemi, tabelle, colonne, volumi, routine, vincoli e tag.system.accessesystem.query: facoltativi, obbligatori per importare le metriche di utilizzo, gli insight sull'utilizzo e i join della cronologia delle query.system.data_quality_monitoring: facoltativo, necessario per importare i risultati del rilevamento delle anomalie.
- (Facoltativo)
USE CATALOG,USE SCHEMAeSELECTsulle tabelle di output di Lakehouse Monitoring (TABLE_NAME_profile_metricseTABLE_NAME_drift_metrics) per importare le metriche di profilazione e deviazione dei dati.
Se vuoi anche eseguire query SQL o job Spark sul catalogo Databricks remoto, consulta Configura una connessione cross-cloud per Databricks Unity Catalog.
Prerequisiti di networking
Per consentire a BigQuery Data Transfer Service di connettersi in modo sicuro a database esterni o origini dati cloud di terze parti con un indirizzo IP privato all'interno di una rete privata, configura un collegamento di rete tramite Private Service Connect.
Se ti connetti a un ambiente on-premise o a un'istanza ospitata nel cloud utilizzando un indirizzo IP pubblico, non è necessario un collegamento di rete.
Configura un connettore Databricks Unity Catalog
Configura un connettore Databricks Unity Catalog utilizzando la console Google Cloud o l'API REST.
Console
Nella console Google Cloud , vai alla pagina Knowledge Catalog.
Nel menu di navigazione, nella sezione Gestisci, fai clic su Connettori, quindi su Aggiungi connessione.
Nell'elenco Connettori, seleziona la scheda Databricks Unity Catalog.
Nella sezione Dettagli origine dati, fornisci i dettagli della connessione per l'istanza di Databricks Unity Catalog:
- Per Collegamento di rete, seleziona un collegamento di rete esistente, se necessario, o creane uno.
- Inserisci Host workspace, Percorso HTTP SQL Warehouse, ID client e Client secret.
Per Oggetti Databricks da trasferire, fai clic su Sfoglia per selezionare i metastore, i cataloghi, gli schemi o i singoli oggetti (tabelle, viste, volumi, funzioni e procedure) da importare in Knowledge Catalog. Se selezioni un metastore, un catalogo o uno schema, vengono importati tutti gli oggetti al suo interno.
Puoi anche inserire gli oggetti manualmente nel formato
TYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], doveTYPEèMETASTORE,CATALOG,SCHEMA,TABLE,VIEW,VOLUME,FUNCTIONoPROCEDURE(ad esempio,SCHEMA:my_metastore/main/sales). I pattern dei nomi non sono supportati.
Nella sezione Impostazioni destinazione:
- Fai clic su Sfoglia e seleziona un gruppo di voci di Knowledge Catalog esistente per archiviare i metadati importati oppure fai clic su Crea nuovo gruppo di voci.
- Scegli se impostare le autorizzazioni per il gruppo di voci ora o in un secondo momento.
Per consentire agli utenti di visualizzare i metadati importati, imposta le autorizzazioni sul gruppo di voci. Se non hai concesso il ruolo Dataplex Entry Group Importer (
roles/dataplex.entryGroupImporter) o l'autorizzazionedataplex.entryGroups.importall'agente di servizio BigQuery Data Transfer Service a livello di progetto, concedilo a questo gruppo di voci. Devi comunque concedere il ruolo Dataplex Entry and EntryLink Owner (roles/dataplex.entryOwner) al progetto perché l'autorizzazionedataplex.entryLinks.referenceviene controllata a livello di progetto. Per saperne di più, consulta Ruoli e autorizzazioni IAM.
Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il job di importazione dei metadati.
Nella sezione Opzioni di pianificazione, configura la frequenza del job di importazione dei metadati. Se selezioni On demand, il job viene eseguito solo quando lo attivi manualmente.
(Facoltativo) Nella sezione Opzioni di notifica, configura una notifica via email o Pub/Sub per gli errori dei job.
(Facoltativo) Nella sezione Opzioni avanzate, configura le impostazioni di crittografia. Se selezioni una chiave di crittografia gestita dal cliente (CMEK), questa cripta tutti i dati temporanei preparati prima di avviare i job di importazione dei metadati di Knowledge Catalog. La chiave non cripta i metadati nel gruppo di voci di Knowledge Catalog di destinazione.
Fai clic su Salva.
REST
Utilizza il metodo projects.locations.transferConfigs.create. Nella risorsa TransferConfig, configura i seguenti campi:
- Imposta il campo
dataSourceIdsu"databricks_unity". - Nel campo
metadataDestination, compila il campodataplexConfiguration.entryGroupcon il percorso della risorsa del gruppo di voci di Knowledge Catalog di destinazione:projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID. - Nel campo
params, imposta i seguenti parametri:connector.host(obbligatorio): il nome host del workspace Databricks (ad esempio,dbc-a1b2345c-d6e7.cloud.databricks.com).connector.httpPath(obbligatorio): il percorso HTTP del data warehouse Databricks SQL (ad esempio,/sql/1.0/warehouses/a1b2345c67890def).connector.authentication.oauth.clientId(obbligatorio): l'ID client OAuth di Databricks.connector.authentication.oauth.clientSecret(obbligatorio): il client secret OAuth di Databricks.- (Facoltativo)
connector.networkAttachment: il collegamento di rete nel formatoprojects/PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT_ID. assets(obbligatorio): l'elenco degli oggetti Databricks Unity Catalog da importare nel formatoTYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], ad esempio["SCHEMA:my_metastore/main/sales"].
- (Facoltativo) Per escludere le credenziali OAuth dalla configurazione del trasferimento, archiviale in Secret Manager:
- Imposta
connector.authentication.oauth.clientSecret(econnector.authentication.oauth.clientId, se vuoi) sul nome della risorsa della versione del secret nel formatoprojects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/VERSION_IDe aggiungi i nomi dei parametri al campoparamConfig.secretManagerManagedParams. - Concedi il ruolo Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor) su ogni secret all'agente di servizio BigQuery Data Transfer Service del progetto che contiene la configurazione del trasferimento (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com). I secret possono trovarsi in un progetto diverso. Se l'agente di servizio non riesce a leggere un secret, l'esecuzione non va a buon fine prima di iniziare con un errore comeFailed to retrieve secret ... Permission 'secretmanager.versions.access' denied. BigQuery Data Transfer Service legge i secret all'inizio di ogni esecuzione, quindi se impostiVERSION_IDsulatest, viene utilizzato un secret ruotato a partire dall'esecuzione successiva.
- Imposta
L'esempio seguente mostra un corpo della richiesta TransferConfig:
{
"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"
}
}
}
Il job viene eseguito automaticamente in base alla pianificazione oppure puoi attivarlo manualmente.
Monitora un job del connettore Databricks Unity Catalog
Monitora un job del connettore Databricks Unity Catalog utilizzando la consoleGoogle Cloud o l'API REST.
Console
- Nella console Google Cloud , nella pagina Connettori, fai clic sul Nome visualizzato del job di trasferimento di Databricks Unity Catalog.
- Nella scheda Cronologia esecuzioni, fai clic su Visualizza dettagli per visualizzare i log.
- Per visualizzare le voci create, fai clic sulla scheda Dettagli, quindi sul link del gruppo di voci Destinazione dei metadati.
REST
- Per elencare le esecuzioni di una configurazione di trasferimento e visualizzarne lo stato, utilizza il metodo
projects.locations.transferConfigs.runs.list. Ogni esecuzione importa i metadati raccolti in Knowledge Catalog con un job di importazione dei metadati il cui ID è
dts-run-RUN_ID. Per visualizzare il risultato dell'importazione, ad esempio il numero di voci create, filtra i log del job in Logging utilizzando la seguente query:logName="projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fmetadata_job" AND resource.labels.metadata_job_id="dts-run-RUN_ID"Per visualizzare il risultato di un'importazione senza utilizzare Logging, chiama il metodo
projects.locations.metadataJobs.getsuprojects/PROJECT_ID/locations/LOCATION/metadataJobs/dts-run-RUN_ID. Il campoimportResultmostra il numero di voci e link di voci creati, aggiornati, invariati ed eliminati.
Cerca e visualizza i metadati di Databricks Unity Catalog
Nella console Google Cloud , vai alla pagina Ricerca di Knowledge Catalog.
Nel riquadro Filtri, filtra gli asset di Databricks Unity Catalog utilizzando le sezioni Progetto, Sistemi e Alias tipo. Per filtrare tutti i metadati di Databricks Unity Catalog, nella sezione Sistemi, seleziona Contesto importato, quindi nella sottosezione Connettori gestiti, seleziona Databricks Unity.
Nel campo di ricerca, inserisci una parola chiave o una query di ricerca in linguaggio naturale. Ad esempio, per visualizzare tutti gli asset di Databricks Unity Catalog tramite la ricerca per parole chiave, inserisci
system=DATABRICKS.Per scoprire di più sulla ricerca di risorse, consulta Cerca risorse in Knowledge Catalog. Per scoprire di più sulle espressioni che puoi utilizzare nel campo di ricerca, consulta Sintassi di ricerca per Knowledge Catalog.
Puoi anche utilizzare l'API LookupContext per recuperare il contesto LLM per risorse Databricks Unity Catalog specifiche. Per saperne di più, consulta Recupera il contesto per gli asset di dati.
Passaggi successivi
- Scopri come gestire i job del connettore.