Mengimpor metadata dari Databricks Unity Catalog

Hilangkan data silo dan hindari beralih antar-alat dengan menggunakan konektor Knowledge Catalog (sebelumnya Dataplex Universal Catalog) untuk mengimpor metadata dari Databricks Unity Catalog langsung ke Google Cloud.

Konektor ini mendukung instance Databricks Unity Catalog yang dihosting di Google Cloud, Microsoft Azure, atau Amazon Web Services (AWS).

Tabel berikut mencantumkan metadata yang diambil oleh konektor Databricks Unity Catalog:

Kategori Metadata yang diambil
Teknis
  • Metastore
  • Katalog
  • Skema
  • Tabel (Delta terkelola, eksternal, streaming, online, fitur, Apache Iceberg REST Catalog (IRC))
  • Tampilan (standar, terwujud)
  • Volume
  • Fungsi dan prosedur
Operasional
  • Metrik penggunaan (tampilan selama 30 dan 90 hari; pembacaan, penulisan, pengguna yang sering, dan tabel yang sering digabungkan selama 30 hari)
  • Kunci utama dan kunci asing
Bisnis
  • Tag (objek, klasifikasi data)
  • Kualitas data (hasil deteksi anomali dari Pemantauan Kualitas Data, serta pergeseran data dan metrik kustom dari Pemantauan Lakehouse)
  • Pembuatan profil data (dari Lakehouse Monitoring)
  • Penggabungan dan hubungan
  • Pemilik tabel dan tampilan, waktu pembuatan, dan waktu terakhir diubah
Semantik
  • Tampilan metrik (dimensi, ukuran, pemetaan hubungan, sertifikasi)
  • Pemilik tampilan metrik
  • Penggunaan tampilan metrik (tampilan selama 30 dan 90 hari; pembacaan, penulisan, pengguna yang sering, dan tabel yang sering digabungkan selama 30 hari)
  • Nama tampilan (dari tampilan metrik)
  • Sinonim (dari tampilan metrik)
  • Komentar Markdown

Batasan

Konektor Databricks Unity Catalog memiliki batasan berikut:

  • Silsilah tidak didukung.
  • Tag semantik dan glosarium bisnis tidak didukung dalam integrasi (Genie API).
  • Konektor mengimpor metadata untuk tabel Iceberg Anda, tetapi tidak otomatis menautkan entri yang diimpor ke entri Google Cloud Lakehouse Databricks Unity Catalog Iceberg REST Catalog (IRC) yang sesuai.

Sebelum memulai

Sebelum Anda dapat mengimpor metadata dari Databricks Unity Catalog, selesaikan tugas-tugas berikut:

  1. Berikan peran dan izin yang diperlukan.
  2. Aktifkan Dataplex API dan BigQuery Data Transfer Service API.
  3. Penuhi prasyarat Databricks Unity Catalog.
  4. Memenuhi prasyarat jaringan.

Peran dan izin IAM

Untuk membuat dan mengelola tugas konektor Knowledge Catalog, Anda memerlukan peran Identity and Access Management (IAM) yang memberikan izin untuk Knowledge Catalog dan BigQuery Data Transfer Service.

Untuk mendapatkan izin yang diperlukan guna mengonfigurasi konektor Databricks Unity Catalog, minta administrator untuk memberi Anda peran IAM berikut:

Anda juga harus memberikan kedua peran berikut kepada agen layanan BigQuery Data Transfer Service (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com):

  • Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter), di grup entri tujuan atau di project yang memuatnya. Peran ini memungkinkan agen layanan mengimpor metadata ke dalam grup entri (dataplex.entryGroups.import).
  • Dataplex Entry and EntryLink Owner (roles/dataplex.entryOwner), di project yang berisi grup entri tujuan. Peran ini memungkinkan agen layanan mengimpor metadata penggunaan, bisnis, dan kualitas data serta link entri. Peran ini mencakup izin berikut:

    • 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

    Berikan peran ini pada project, bukan hanya pada grup entri, karena impor memeriksa izin dataplex.entryLinks.reference pada project. Jika agen layanan tidak memiliki izin ini pada project, proses transfer akan gagal dengan error seperti Permission 'dataplex.entryLinks.reference' denied, dan tidak ada metadata yang diimpor.

Alih-alih memberikan kedua peran ini, Anda dapat memberikan peran Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner) pada project yang berisi grup entri tujuan. Peran ini mencakup izin kedua peran, dan juga memungkinkan agen layanan membuat, menghapus, dan mengelola akses ke semua grup entri dalam project.

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Mengaktifkan API

Aktifkan Dataplex API dan BigQuery Data Transfer Service API.

Aktifkan API

Prasyarat Databricks Unity Catalog

Akun utama layanan yang digunakan untuk konektor Databricks Unity Catalog harus memiliki izin berikut di Databricks Unity Catalog:

  • Izin Can use di Databricks SQL warehouse yang digunakan oleh konektor.
  • Hak istimewa BROWSE pada katalog target, atau USE CATALOG, USE SCHEMA, dan SELECT pada katalog, skema, dan tabel atau tampilan target.
  • USE CATALOG di katalog system, ditambah USE SCHEMA dan SELECT di skema sistem berikut:
    • system.information_schema: diperlukan untuk membaca katalog, skema, tabel, kolom, volume, rutinitas, batasan, dan tag.
    • system.access dan system.query: opsional, diperlukan untuk mengimpor metrik penggunaan, insight penggunaan, dan gabungan histori kueri.
    • system.data_quality_monitoring: opsional, diperlukan untuk mengimpor hasil deteksi anomali.
  • Opsional: USE CATALOG, USE SCHEMA, dan SELECT pada tabel output Lakehouse Monitoring (TABLE_NAME_profile_metrics dan TABLE_NAME_drift_metrics) untuk mengimpor metrik pembuatan profil dan penyimpangan data.

Jika Anda juga ingin menjalankan kueri SQL atau tugas Spark terhadap katalog Databricks jarak jauh, lihat Menyiapkan koneksi lintas cloud untuk Databricks Unity Catalog.

Prasyarat jaringan

Agar BigQuery Data Transfer Service dapat terhubung dengan aman ke database eksternal atau sumber data cloud pihak ketiga dengan alamat IP pribadi di dalam jaringan pribadi, konfigurasikan lampiran jaringan melalui Private Service Connect.

Jika Anda terhubung ke lingkungan lokal atau instance yang dihosting di cloud menggunakan alamat IP publik, lampiran jaringan tidak diperlukan.

Mengonfigurasi konektor Databricks Unity Catalog

Konfigurasikan konektor Databricks Unity Catalog menggunakan konsol Google Cloud atau REST API.

Konsol

  1. Di konsol Google Cloud , buka halaman Knowledge Catalog.

    Buka Knowledge Catalog

  2. Di menu navigasi, di bagian Manage, klik Connectors, lalu klik Add connection.

  3. Dalam daftar Connectors, pilih kartu Databricks Unity Catalog.

  4. Di bagian Data source details, berikan detail koneksi untuk instance Databricks Unity Catalog Anda:

    • Untuk Network attachment, pilih lampiran jaringan yang ada jika diperlukan, atau buat lampiran jaringan baru.
    • Masukkan Workspace Host, SQL Warehouse HTTP Path, Client Id, dan Rahasia Klien.
    • Untuk Databricks objects to transfer, klik Browse guna memilih metastore, katalog, skema, atau objek individual (tabel, tampilan, volume, fungsi, dan prosedur) yang akan diimpor ke Knowledge Catalog. Memilih metastore, katalog, atau skema akan mengimpor semua objek di dalamnya.

      Anda juga dapat memasukkan objek secara manual dalam format TYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], dengan TYPE adalah METASTORE, CATALOG, SCHEMA, TABLE, VIEW, VOLUME, FUNCTION, atau PROCEDURE (misalnya, SCHEMA:my_metastore/main/sales). Pola nama tidak didukung.

  5. Di bagian Destination settings:

    • Klik Browse dan pilih grup entri Knowledge Catalog yang ada untuk menyimpan metadata yang diimpor, atau klik Create new entry group.
    • Pilih apakah akan menetapkan izin pada grup entri sekarang atau nanti. Agar pengguna dapat melihat metadata yang diimpor, tetapkan izin pada grup entri. Jika Anda tidak memberikan peran Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) atau izin dataplex.entryGroups.import kepada agen layanan BigQuery Data Transfer Service di level project, berikan peran tersebut pada grup entri ini. Anda tetap harus memberikan peran Dataplex Entry and EntryLink Owner (roles/dataplex.entryOwner) pada project karena izin dataplex.entryLinks.reference diperiksa di level project. Untuk mengetahui informasi selengkapnya, lihat Peran dan izin IAM.
  6. Di bagian Transfer config name, untuk Nama tampilan, masukkan nama untuk tugas impor metadata.

  7. Di bagian Schedule options, konfigurasikan frekuensi untuk tugas impor metadata. Jika Anda memilih On-demand, tugas hanya akan berjalan saat Anda memicunya secara manual.

  8. Opsional: Di bagian Notification options, konfigurasikan notifikasi email atau Pub/Sub untuk kegagalan tugas.

  9. Opsional: Di bagian Advanced options, konfigurasikan setelan enkripsi. Jika Anda memilih kunci enkripsi yang dikelola pelanggan (CMEK), kunci tersebut akan mengenkripsi semua data sementara yang di-stage sebelum memulai tugas impor metadata Knowledge Catalog. Kunci tidak mengenkripsi metadata di grup entri Knowledge Catalog tujuan.

  10. Klik Simpan.

REST

Gunakan metode projects.locations.transferConfigs.create. Di resource TransferConfig, konfigurasi kolom berikut:

  • Tetapkan kolom dataSourceId ke "databricks_unity".
  • Di kolom metadataDestination, isi kolom dataplexConfiguration.entryGroup dengan jalur resource grup entri Knowledge Catalog target: projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID.
  • Di kolom params, tetapkan parameter berikut:
    • connector.host (wajib): nama host ruang kerja Databricks (misalnya, dbc-a1b2345c-d6e7.cloud.databricks.com).
    • connector.httpPath (wajib): jalur HTTP dari Databricks SQL warehouse (misalnya, /sql/1.0/warehouses/a1b2345c67890def).
    • connector.authentication.oauth.clientId (wajib): client ID OAuth Databricks.
    • connector.authentication.oauth.clientSecret (wajib): rahasia klien OAuth Databricks.
    • connector.networkAttachment (opsional): lampiran jaringan dalam format projects/PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT_ID.
    • assets (wajib): daftar objek Databricks Unity Catalog yang akan diimpor dalam format TYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], seperti ["SCHEMA:my_metastore/main/sales"].
  • Opsional: Untuk menyimpan kredensial OAuth di luar konfigurasi transfer, simpan kredensial tersebut di Secret Manager:
    1. Tetapkan connector.authentication.oauth.clientSecret (dan connector.authentication.oauth.clientId, jika Anda mau) ke nama resource versi secret dalam format projects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID, dan tambahkan nama parameter tersebut ke kolom paramConfig.secretManagerManagedParams.
    2. Berikan peran Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) pada setiap secret kepada agen layanan BigQuery Data Transfer Service dari project yang berisi konfigurasi transfer (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com). Secret dapat berada di project yang berbeda. Jika agen layanan tidak dapat membaca secret, operasi akan gagal sebelum dimulai dengan error seperti Failed to retrieve secret ... Permission 'secretmanager.versions.access' denied. BigQuery Data Transfer Service membaca secret di awal setiap operasi, jadi jika Anda menetapkan VERSION_ID ke latest, secret yang dirotasi akan digunakan mulai dari operasi berikutnya.

Contoh berikut menunjukkan isi permintaan 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"
    }
  }
}

Tugas berjalan secara otomatis berdasarkan jadwal Anda, atau Anda dapat memicunya secara manual.

Memantau tugas konektor Databricks Unity Catalog

Pantau tugas konektor Databricks Unity Catalog menggunakan konsolGoogle Cloud atau REST API.

Konsol

  1. Di konsol Google Cloud , di halaman Konektor, klik nama tampilan tugas transfer Databricks Unity Catalog.
  2. Di tab Run history, klik View details untuk melihat log.
  3. Untuk melihat entri yang dibuat, klik tab Details, lalu klik link grup entri Metadata destination.

REST

  • Untuk mencantumkan operasi konfigurasi transfer dan melihat statusnya, gunakan metode projects.locations.transferConfigs.runs.list.
  • Setiap operasi mengimpor metadata yang dikumpulkan ke Knowledge Catalog dengan tugas impor metadata yang ID-nya adalah dts-run-RUN_ID. Untuk melihat hasil impor, seperti jumlah entri yang dibuat, filter log tugas di Logging menggunakan kueri berikut:

    logName="projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fmetadata_job"
    AND resource.labels.metadata_job_id="dts-run-RUN_ID"
    
  • Untuk melihat hasil impor tanpa menggunakan Logging, panggil metode projects.locations.metadataJobs.get di projects/PROJECT_ID/locations/LOCATION/metadataJobs/dts-run-RUN_ID. Kolom importResult menampilkan jumlah entri dan link entri yang dibuat, diperbarui, tidak diubah, dan dihapus.

Menelusuri dan melihat metadata Databricks Unity Catalog

  1. Di konsol Google Cloud , buka halaman Search Knowledge Catalog.

    Buka Penelusuran

  2. Di panel Filters, filter aset Databricks Unity Catalog menggunakan bagian Project, Systems, dan Type aliases. Untuk memfilter semua metadata Databricks Unity Catalog, di bagian Systems, pilih Imported Context, lalu di subbagian Managed Connectors, pilih Databricks Unity.

  3. Di kolom penelusuran, masukkan kata kunci atau kueri penelusuran bahasa alami. Misalnya, untuk melihat semua aset Databricks Unity Catalog melalui penelusuran kata kunci, masukkan system=DATABRICKS.

    Untuk mempelajari lebih lanjut cara menelusuri resource, lihat Menelusuri resource di Knowledge Catalog. Untuk mempelajari lebih lanjut ekspresi yang dapat Anda gunakan di kolom penelusuran, lihat Sintaksis penelusuran untuk Knowledge Catalog.

Anda juga dapat menggunakan API LookupContext untuk mengambil konteks LLM untuk resource Databricks Unity Catalog tertentu. Untuk mengetahui informasi selengkapnya, lihat Mengambil konteks untuk aset data.

Langkah berikutnya