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:
- Parquet
- Avro
- ORC
- JSON (hanya format yang dipisahkan dengan karakter baris baru)
- CSV (File CSV dengan baris komentar tidak didukung.)
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
\rdan\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
0atau1. Nilai default-nya adalah0. Jika nilainya adalah0, Penemuan akan melakukan inferensi header, dan jika header terdeteksi, Penemuan akan mengekstrak nama kolom dari header dan mereset nilai ke1.Encoding: Kolom ini menerima nama encoding string, seperti
UTF-8,US-ASCII, atauISO-8859-1. Jika tidak ada yang ditentukan,UTF-8akan digunakan sebagai default.Nonaktifkan inferensi jenis: Kolom ini menerima nilai Boolean. Kolom ini ditetapkan ke
falsesecara 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, atauISO-8859-1. Jika tidak ada yang ditentukan,UTF-8akan digunakan sebagai default.Nonaktifkan inferensi jenis data: Kolom ini menerima nilai Boolean. Kolom ini ditetapkan ke
falsesecara 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
Di Google Cloud konsol, buka halaman Discover.
Klik nama pemindaian penemuan yang berisi tugas yang ingin Anda batalkan.
Di tab Job history, temukan tugas dengan status Running atau Pending.
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.
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=01dangs://sales_data/year=2020/region=us.Penamaan partisi gaya non-Hive di zona data yang dikurasi. Misalnya,
gs://sales_data/2020/10/01, bukangs://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
READMEataureadme - 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:
- Buat tabel dengan hanya menentukan informasi yang diperlukan, seperti jalur root tabel.
- Gunakan Penemuan Knowledge Catalog untuk mengisi metadata lainnya, seperti skema dan definisi partisi.
- 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
- Pelajari cara menggunakan metadata.