Data Discover

Panduan ini menjelaskan cara mengaktifkan dan menggunakan Penemuan Knowledge Catalog (sebelumnya Dataplex Universal Catalog). Penemuan memindai dan mengekstrak metadata dari data di data lake dan mendaftarkannya ke Dataproc Metastore, BigQuery, dan Data Catalog (Tidak Digunakan Lagi) untuk analisis, penelusuran, dan eksplorasi.

Ringkasan

Untuk setiap aset Knowledge Catalog yang mengaktifkan Penemuan, Knowledge Catalog akan melakukan hal berikut:

  • Memindai data yang terkait dengan aset.
  • Mengelompokkan file terstruktur dan semi-terstruktur ke dalam tabel.
  • Mengumpulkan metadata teknis, seperti nama tabel, skema, dan definisi partisi.

Untuk data tidak terstruktur, seperti gambar dan video, Penemuan Knowledge Catalog akan otomatis mendeteksi dan mendaftarkan grup file yang berbagi jenis media sebagai kumpulan file. Misalnya, jika gs://images/group1 berisi gambar GIF, dan gs://images/group2 berisi gambar JPEG, Penemuan Knowledge Catalog akan mendeteksi dan mendaftarkan dua kumpulan file. Untuk data terstruktur, seperti Avro, Penemuan hanya mendeteksi file jika file tersebut berada di folder yang berisi format dan skema data yang sama.

Tabel dan kumpulan file yang ditemukan akan didaftarkan di Data Catalog untuk penelusuran dan penemuan. Tabel akan muncul di Dataproc Metastore sebagai tabel gaya Hive, dan di BigQuery sebagai tabel eksternal, sehingga data akan otomatis tersedia untuk analisis.

Penemuan mendukung format data terstruktur dan semi-terstruktur berikut:

Penemuan mendukung format kompresi berikut untuk data terstruktur dan semi-terstruktur:

  • Kompresi internal untuk format ini:

    Kompresi Contoh ekstensi file Format yang didukung
    gzip .gz.parquet Parquet
    lz4 .lz4.parquet Parquet
    Snappy .snappy.parquet Parquet, ORC, Avro
    lzo .lzo.parquet Parquet, ORC
  • Kompresi eksternal untuk file JSON dan CSV:

    • gzip
    • bzip2

Konfigurasi penemuan

Penemuan diaktifkan secara default saat Anda membuat zona atau aset baru. Anda dapat menonaktifkan Penemuan di tingkat zona atau aset.

Saat membuat zona atau aset, Anda dapat memilih untuk mewarisi setelan Penemuan di tingkat zona, atau mengganti setelan Penemuan di tingkat aset.

Berikut adalah opsi konfigurasi Penemuan yang tersedia di tingkat zona dan aset:

  • Penemuan aktif dan nonaktif

  • Jadwal penemuan: Opsi ini dapat ditetapkan ke jadwal yang telah ditentukan sebelumnya —misalnya, per jam atau harian, atau jadwal kustom yang ditentukan oleh format cron. Aset baru akan dipindai saat ditambahkan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi jadwal cron. Anda dapat menetapkan jadwal Penemuan antara 60 menit dan 31 hari.

  • Pola sertakan atau kecualikan: Tentukan file yang akan disertakan atau dikecualikan dari pemindaian Penemuan, dengan menggunakan pola glob di jalur sertakan atau kecualikan. Misalnya, jika Anda ingin mengecualikan gs://test_bucket/foo/.. dari penemuan, masukkan **/foo/* sebagai jalur kecualikan. Tanda kutip menyebabkan error. Pastikan untuk memasukkan **/foo/* dan bukan "**/foo/*".) Fungsi ini hanya tersedia untuk aset Cloud Storage. Jika pola sertakan dan kecualikan ada secara bersamaan, pola kecualikan akan diterapkan terlebih dahulu.

  • Spesifikasi JSON atau CSV: Memungkinkan Anda memberikan informasi tambahan tentang data semi-terstruktur, seperti CSV dan JSON, untuk meningkatkan akurasi hasil Penemuan.

    • Untuk file CSV, Anda dapat memberikan salah satu hal berikut:

      • Pemisah: Kolom ini menerima satu karakter, kecuali \r dan \n. Jika lebih dari satu karakter diberikan, hanya karakter pertama dari string yang akan digunakan. Jika tidak diberikan, Penemuan akan menggunakan koma sebagai pemisah.

      • Jumlah baris header: Kolom ini menerima nilai 0 atau 1. Nilai default-nya adalah 0. Jika nilainya adalah 0, Penemuan akan melakukan inferensi header, dan jika header terdeteksi, Penemuan akan mengekstrak nama kolom dari header dan mereset nilai ke 1.

      • Encoding: Kolom ini menerima nama encoding string, seperti UTF-8, US-ASCII, atau ISO-8859-1. Jika tidak ada yang ditentukan, UTF-8 akan digunakan sebagai default.

      • Nonaktifkan inferensi jenis: Kolom ini menerima nilai Boolean. Kolom ini ditetapkan ke false secara default. Untuk data CSV, jika Anda menonaktifkan inferensi jenis, semua kolom akan didaftarkan sebagai string.

    • Untuk file JSON, Anda dapat memberikan salah satu hal berikut:

      • Encoding: Kolom ini menerima nama encoding string, seperti UTF-8, US-ASCII, atau ISO-8859-1. Jika tidak ada yang ditentukan, UTF-8 akan digunakan sebagai default.

      • Nonaktifkan inferensi jenis data: Kolom ini menerima nilai Boolean. Kolom ini ditetapkan ke false secara default. Untuk data JSON, jika Anda menonaktifkan inferensi jenis, semua kolom akan didaftarkan sebagai jenis primitifnya (string, angka, atau boolean).

Membatalkan tugas Penemuan

Jika tugas Penemuan memerlukan waktu lebih lama dari yang diharapkan, Anda dapat membatalkannya. Ini adalah operasi terbaik. Jika tugas sudah dalam status terminal (seperti SUCCEEDED atau FAILED), permintaan pembatalan akan diabaikan.

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membatalkan tugas Penemuan, minta administrator untuk memberi Anda peran IAM Dataplex Editor (roles/dataplex.editor) atau Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin) di project Anda.

Membatalkan tugas

Anda dapat membatalkan tugas Penemuan yang sedang berjalan atau tertunda menggunakan Google Cloud konsol atau REST API.

Konsol

  1. Di Google Cloud konsol, buka halaman Discover.

    Buka Discover

  2. Klik nama pemindaian penemuan yang berisi tugas yang ingin Anda batalkan.

  3. Di tab Job history, temukan tugas dengan status Running atau Pending.

  4. Klik tombol Cancel yang terkait dengan tugas tersebut.

REST

Gunakan metode projects.locations.dataScans.jobs.cancel.

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID:cancel

Ganti kode berikut:

  • PROJECT_ID: project ID.
  • LOCATION: region tempat pemindaian data berada.
  • DATASCAN_ID: ID pemindaian data.
  • JOB_ID: ID tugas yang akan dibatalkan.

Memublikasikan metadata

Saat Anda membuat zona data di data lake Knowledge Catalog, Knowledge Catalog akan membuat set data BigQuery di project yang berisi data lake. Knowledge Catalog memublikasikan tabel ke dalam set data tersebut untuk tabel yang ditemukan di bucket Cloud Storage yang ditambahkan ke zona data sebagai aset. Set data ini disebut sebagai set data publikasi metadata yang sesuai dengan zona.

Setiap zona data Knowledge Catalog dipetakan ke set data di BigQuery atau database di Dataproc Metastore, tempat informasi metadata otomatis tersedia.

Anda dapat mengedit metadata yang ditemukan secara otomatis, seperti nama tabel atau skema, menggunakan Dataplex API.

Melihat tabel dan kumpulan file yang ditemukan

Anda dapat menelusuri tabel dan kumpulan file yang ditemukan di tampilan Knowledge Catalog Search di Google Cloud konsol.

Buka Penelusuran

Untuk hasil penelusuran yang lebih akurat, gunakan filter khusus Knowledge Catalog, seperti nama data lake dan zona data. 50 item teratas per aspek ditampilkan di daftar filter. Anda dapat menemukan item tambahan menggunakan kotak penelusuran.

Setiap entri berisi metadata teknis dan operasional yang mendetail.

Dari halaman detail entri, Anda dapat membuat kueri tabel di BigQuery dan melihat detail pendaftaran Dataproc Metastore yang sesuai.

Jika tabel Cloud Storage dapat dipublikasikan ke BigQuery sebagai tabel eksternal, Anda dapat melihat hal berikut di tampilan detail entri:

  • Referensi tabel eksternal BigQuery
  • Tombol Open in BigQuery untuk mulai menganalisis data di BigQuery

Entri metadata Knowledge Catalog dapat langsung dilihat dan ditelusuri di Data Catalog. Untuk mempelajari lebih lanjut, lihat referensi Penelusuran Data Catalog .

Semua entri yang ditemukan dapat dilihat melalui Dataplex API.

Tindakan penemuan

Penemuan memunculkan tindakan administrator berikut setiap kali masalah terkait data terdeteksi selama pemindaian.

Format data tidak valid

Tindakan ini mencakup:

  • Format data yang tidak konsisten dalam tabel. Misalnya, file dengan format berbeda ada dengan awalan tabel yang sama.

  • Format data tidak valid di zona yang dikurasi (data tidak dalam format Avro, Parquet, atau ORC).

Skema tidak kompatibel

Tindakan ini mencakup:

  • Skema yang terdeteksi oleh Penemuan tidak kompatibel dengan skema tabel aktif di metadata API di Dataproc Metastore. Skema A dan skema B tidak kompatibel dalam skenario berikut:

    • A dan B berbagi kolom dengan nama yang sama tetapi dengan jenis data yang berbeda dan tidak kompatibel. Misalnya, string dan bilangan bulat.

    • A dan B tidak memiliki kolom yang tumpang-tindih.

    • A dan B memiliki setidaknya satu kolom yang tidak dapat di-null dan tidak ditemukan di skema lainnya.

  • Pergeseran skema terhadap skema yang dikelola pengguna di zona yang dikurasi.

Definisi partisi tidak valid

Tindakan ini mencakup:

  • Penamaan partisi yang tidak konsisten. Misalnya, gs://sales_data/year=2020/month=10/day=01 dan gs://sales_data/year=2020/region=us.

  • Penamaan partisi gaya non-Hive di zona data yang dikurasi. Misalnya, gs://sales_data/2020/10/01, bukan gs://sales_data/year=2020/month=10/day=01.

Data tidak ada

Tindakan ini mencakup:

  • Di zona data yang dikurasi, data pokok untuk tabel atau kumpulan file yang terdaftar tidak ada lagi. Dengan kata lain, tabel atau kumpulan file zona yang dikurasi ditemukan dan didaftarkan, tetapi kemudian data pokoknya dihapus. Anda dapat memperbaiki masalah ini dengan mengisi ulang data atau menghapus entri metadata.

Menyelesaikan tindakan Penemuan

Data dengan tindakan akan diperiksa oleh pemindaian Penemuan berikutnya. Jika masalah yang memicu tindakan diperbaiki, tindakan akan diselesaikan secara otomatis oleh pemindaian Penemuan terjadwal berikutnya.

Tindakan Penemuan lainnya

Selain tindakan Penemuan sebelumnya, ada tiga jenis tindakan lain yang terkait dengan status resource dan propagasi kebijakan keamanan di Knowledge Catalog.

  • Resource tidak ada: Bucket atau set data pokok tidak ditemukan sesuai dengan aset yang ada.

  • Resource tidak diotorisasi: Knowledge Catalog tidak memiliki izin yang cukup untuk melakukan Penemuan atau menerapkan kebijakan keamanan ke bucket atau set data yang dikelola oleh Knowledge Catalog

  • Masalah dengan propagasi kebijakan keamanan: Kebijakan keamanan yang ditentukan untuk data lake, zona, atau aset tertentu tidak dapat berhasil dipropagasi ke bucket atau set data pokok. Meskipun semua tindakan lainnya berada di tingkat aset, jenis tindakan ini dapat dimunculkan di tingkat data lake, zona, dan aset.

Jenis tindakan ini akan diselesaikan secara otomatis jika masalah konfigurasi resource atau keamanan pokok diperbaiki.

FAQ

Apa yang harus saya lakukan jika skema yang disimpulkan oleh Penemuan salah?

Jika skema yang disimpulkan berbeda dengan yang diharapkan untuk tabel tertentu, Anda dapat mengganti skema yang disimpulkan dengan memperbarui metadata menggunakan metadata API. Pastikan untuk menetapkan userManaged ke true agar hasil edit Anda tidak ditimpa dalam pemindaian Penemuan berikutnya.

Bagaimana cara mengecualikan file dari pemindaian Penemuan?

Secara default, Penemuan mengecualikan jenis file tertentu dari pemindaian, termasuk yang berikut:

  • _SUCCESS
  • _started
  • _committed
  • _metadata, _METADATA, _Metadata
  • _common_metadata, _COMMON_METADATA
  • File yang dimulai dengan README atau readme
  • Direktori yang dimulai dengan base_, delta_, delete_delta_, bucket_, diikuti dengan angka
  • Direktori yang dimulai dengan .

Anda dapat menentukan pola sertakan atau kecualikan tambahan menggunakan konfigurasi Penemuan di tingkat zona atau aset, atau menggunakan metadata API.

Apa yang harus saya lakukan jika pengelompokan tabel yang terdeteksi oleh Penemuan terlalu terperinci?

Jika tabel yang terdeteksi oleh Penemuan berada pada tingkat yang lebih terperinci dibandingkan dengan jalur root tabel—misalnya, setiap partisi individual didaftarkan sebagai tabel, maka ada beberapa alasan:

  • Ada perbedaan format, seperti campuran file Avro dan Parquet, di jalur root tabel yang diharapkan, yang membagi tabel menjadi pengelompokan yang lebih kecil.

  • Ada berbagai jenis ketidakcocokan skema di jalur root tabel yang diharapkan, yang membagi tabel menjadi pengelompokan yang lebih kecil.

Anda dapat mengatasi masalah ini dengan salah satu cara berikut:

  • Memperbaiki perbedaan format atau skema sehingga semua file di jalur root tabel yang sama memiliki format yang konsisten dan skema yang kompatibel.

  • Mengecualikan file heterogen menggunakan konfigurasi pola kecualikan sebagai bagian dari konfigurasi zona / aset atau metadata API.

Setelah Anda melakukan salah satu langkah korektif, dalam pemindaian Penemuan berikutnya, hal berikut akan terjadi:

  • Tabel tingkat bawah yang ada akan otomatis dihapus dari Dataplex API, BigQuery, Dataproc Metastore, dan Data Catalog.
  • Tabel tingkat atas baru dengan jalur root tabel yang diharapkan akan dibuat.

Bagaimana cara menentukan nama tabel?

Anda dapat menentukan nama tabel menggunakan metadata API.

Apa yang terjadi jika saya membuat tabel secara manual di Dataproc Metastore atau BigQuery?

Jika Penemuan diaktifkan untuk aset tertentu, Anda tidak perlu mendaftarkan entri secara manual di Dataproc Metastore atau BigQuery.

Anda dapat menentukan nama tabel, skema, dan definisi partisi secara manual, sambil menonaktifkan Penemuan Knowledge Catalog. Atau, Anda dapat melakukan hal berikut:

  1. Buat tabel dengan hanya menentukan informasi yang diperlukan, seperti jalur root tabel.
  2. Gunakan Penemuan Knowledge Catalog untuk mengisi metadata lainnya, seperti skema dan definisi partisi.
  3. Selalu perbarui metadata.

Apa yang harus saya lakukan jika tabel saya tidak muncul di BigQuery?

Meskipun metadata Knowledge Catalog semuanya terdaftar secara terpusat di metadata API, hanya tabel Cloud Storage yang kompatibel dengan BigQuery yang dipublikasikan ke BigQuery sebagai tabel eksternal. Sebagai bagian dari detail entri tabel di metadata API, Anda dapat menemukan penanda kompatibilitas BigQuery yang menunjukkan entitas mana yang dipublikasikan ke BigQuery dan alasannya.

Batasan

  • Tabel eksternal tidak didukung oleh Penemuan. Namun, tabel eksternal akan otomatis diserap ke Knowledge Catalog dan Anda dapat menelusurinya di Knowledge Catalog sebagai gantinya.

Harga

Knowledge Catalog mengenakan biaya untuk Penemuan sebagai bagian dari paket pemrosesan standar. Untuk mengetahui informasi selengkapnya, lihat Harga pemrosesan standar Knowledge Catalog.

Langkah berikutnya