Memecahkan masalah penemuan data Knowledge Catalog

Panduan ini membantu Anda memecahkan masalah dan menyelesaikan masalah umum terkait pemindaian penemuan data Knowledge Catalog (juga disebut penemuan mandiri), termasuk kegagalan publikasi tabel dan error ketidakcocokan skema.

Kegagalan publikasi tabel BigQuery (FAILED_BIGQUERY_TABLE_PUBLISH)

Saat pemindaian penemuan dijalankan, pemindaian tersebut dapat gagal memublikasikan tabel ke BigQuery. Dalam hal ini, pemindaian mencatat tindakan FAILED_BIGQUERY_TABLE_PUBLISH di Cloud Logging.

Masalah ini terjadi karena kondisi berikut:

  • Izin IAM tidak memadai: Akun layanan Knowledge Catalog atau akun layanan koneksi BigQuery tidak memiliki peran yang diperlukan untuk mendelegasikan koneksi, mengakses Cloud Storage, atau menulis ke set data tujuan.
  • Ketidakcocokan koneksi atau set data BigQuery: ID koneksi yang ditentukan tidak valid, atau koneksi dan set data tujuan berada di region yang berbeda.
  • Error konfigurasi tabel: Pembuatan atau modifikasi tabel menerapkan setelan yang salah atau tidak didukung.

Untuk mengatasi masalah ini, lakukan pemeriksaan berikut:

  • Verifikasi peran akun layanan: Pastikan akun layanan Knowledge Catalog service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com memiliki peran Agen Layanan Publikasi BigLake Penemuan Dataplex (roles/dataplex.discoveryBigLakePublishingServiceAgent) role.
  • Verifikasi izin koneksi: Jika Anda membuat tabel BigLake, pastikan akun layanan koneksi BigQuery memiliki akses baca ke bucket Cloud Storage (menggunakan roles/storage.objectViewer atau roles/dataplex.discoveryServiceAgent).
  • Periksa lokasi koneksi dan set data: Pastikan koneksi BigQuery dan set data BigQuery ada di region yang sama, dan keduanya kompatibel dengan lokasi bucket Cloud Storage.
  • Periksa log untuk mengetahui detailnya: Jelajahi log tugas DataScan Anda di Cloud Logging. Jika error berisi BigQuery: Permission denied, periksa izin akun layanan. Jika berisi TABLE_CONFIG, pastikan file data sesuai dengan persyaratan BigQuery.

Pembuatan tabel BigLake gagal untuk bucket Cloud Storage berukuran besar

Saat pemindaian penemuan memproses bucket Cloud Storage dengan volume data yang besar atau file individual yang besar (misalnya, file Avro yang lebih besar dari 30 MB), pemindaian dapat berhasil membuat set data BigQuery, tetapi gagal memublikasikan tabel BigLake.

Jika hal ini terjadi, Anda mungkin melihat error berikut di Cloud Logging:

  • FAILED_BIGQUERY_TABLE_PUBLISH
  • com.google.cloud.bigquery.BigQueryException: Read timed out

Masalah ini adalah batasan skalabilitas yang diketahui. Jika Anda memerlukan penyediaan tabel segera, konfigurasi pemindaian penemuan untuk menyertakan subset data bucket yang lebih kecil dan difilter.

Ketidakcocokan skema folder Cloud Storage

Pemindaian penemuan data gagal mendaftarkan tabel eksternal, atau tidak mendeteksi file di folder tertentu.

Masalah ini terjadi jika folder Cloud Storage Anda berisi file dengan skema yang tidak kompatibel atau format yang berbeda. Pemindaian penemuan mengelompokkan file ke dalam satu tabel hanya jika file tersebut berada di folder yang sama dan memiliki skema yang kompatibel.

Saat pemindaian penemuan data menganalisis jalur Cloud Storage, pemindaian tersebut mengharapkan file dalam folder dan struktur partisi di seluruh folder konsisten. Pemindaian menandai tindakan jika mendeteksi salah satu hal berikut:

  • Format data tidak valid (INVALID_DATA_FORMAT): Format data yang tidak konsisten ditemukan dalam folder yang sama atau di seluruh partisi (misalnya, mencampur file .csv dan .parquet di direktori yang sama).
  • Definisi partisi tidak valid (INVALID_PARTITION_DEFINITION): Kunci partisi tidak konsisten atau tidak ada. Misalnya, menggunakan Year=2023/Mon=Jan di satu jalur dan Year=2023/Dept=Sales di jalur lain.
  • Skema data tidak kompatibel (INCOMPATIBLE_DATA_SCHEMA): Skema yang tidak konsisten atau tidak kompatibel terdeteksi di seluruh file dalam folder atau tabel yang sama.

Untuk format yang diketik dengan kuat seperti Avro dan Parquet, ketidakcocokan skema terjadi karena:

  • Jenis data tidak kompatibel: Kolom memiliki jenis string dalam satu file dan jenis int atau boolean di file lain.
  • Nilai default tidak ada: Kolom baru ditambahkan atau dihapus dalam file yang lebih baru tanpa menentukan nilai default dalam definisi skema, sehingga mencegah evolusi skema yang benar.
  • Format file rusak: Satu atau beberapa file salah format atau rusak, sehingga pemindaian gagal membaca dan mengekstrak skema.

Untuk mengatasi masalah ini, periksa struktur file dan definisi skema Anda:

  • Atur file menurut skema dan format: Pastikan semua file dalam satu folder memiliki format dan struktur skema yang sama. Pindahkan file dengan kolom, jenis primitif, atau format yang berbeda ke folder atau awalan terpisah sehingga dapat didaftarkan sebagai tabel terpisah.
  • Gunakan definisi partisi yang konsisten: Pastikan kunci dan struktur partisi konsisten di semua folder partisi (misalnya, menggunakan Year=YYYY/Month=MM/ secara konsisten).
  • Ikuti aturan evolusi skema: Saat Anda memperbarui skema (seperti menambahkan atau menghapus kolom dari file Avro), selalu tentukan nilai default sehingga layanan penemuan dapat menggabungkan varian skema dengan berhasil.
  • Identifikasi file yang rusak: Periksa output atau log pemindaian untuk mengidentifikasi apakah file tertentu gagal didekode. Pindahkan file untuk sementara guna menemukan apakah file tertentu menyebabkan pemindaian gagal.

Tabel yang ditemukan tidak diperbarui dengan perubahan skema

Setelah Anda mengubah file di Cloud Storage atau menjalankan pemindaian baru, skema yang diperbarui tidak ditampilkan dalam tabel BigQuery yang dipublikasikan.

Masalah ini terjadi jika tabel yang dipublikasikan memiliki label metadata-managed-mode yang ditetapkan ke user_managed. Secara default, penemuan memublikasikan tabel sebagai discovery_managed. Jika Anda atau pengguna lain mengedit properti skema tabel secara manual, Anda harus mengubah label menjadi user_managed untuk memblokir pembaruan otomatis.

Untuk mengatasi masalah ini, periksa label tabel di BigQuery:

  1. Di Google Cloud konsol, buka halaman BigQuery.
  2. Di panel Explorer, luaskan project Anda, pilih set data, lalu klik tabel yang terpengaruh.
  3. Klik tab Details.
  4. Di bagian Labels, periksa nilai kunci metadata-managed-mode.
  5. Jika Anda ingin pemindaian penemuan melanjutkan pengelolaan dan memperbarui skema, klik Edit details, lalu ubah nilainya menjadi discovery_managed.

Mendapatkan dukungan

Jika Anda memerlukan bantuan untuk menyelesaikan masalah yang tidak dibahas dalam dokumen ini, hubungi Dukungan Pelanggan Cloud.