Panduan ini menjelaskan cara mengaktifkan dan menggunakan Discovery Dataplex. Penemuan memindai dan mengekstrak metadata dari data di data lake, lalu mendaftarkannya ke Dataproc Metastore, BigQuery, dan Data Catalog untuk analisis, penelusuran, dan eksplorasi.
Ringkasan
Untuk setiap aset Dataplex dengan Discovery diaktifkan, Dataplex 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, Dataplex Discovery secara otomatis mendeteksi dan mendaftarkan grup file yang berbagi jenis media sebagai set file. Misalnya, jika gs://images/group1
berisi gambar GIF, dan gs://images/group2
berisi gambar JPEG,
Dataplex Discovery akan mendeteksi dan mendaftarkan dua
fileset. Untuk data terstruktur, seperti Avro, Discovery hanya mendeteksi file jika file tersebut berada di folder yang berisi format dan skema data yang sama.
Tabel dan set file yang ditemukan didaftarkan di Data Catalog untuk penelusuran dan penemuan. Tabel tersebut muncul di Dataproc Metastore sebagai tabel bergaya Hive, dan di BigQuery sebagai tabel eksternal, sehingga data otomatis tersedia untuk analisis.
Discovery mendukung format data terstruktur dan semi-terstruktur berikut:
- Parquet
- Avro
- ORC
- JSON (hanya format yang dibatasi baris baru)
- CSV (File CSV dengan baris komentar tidak didukung.)
Discovery mendukung format kompresi berikut untuk data terstruktur dan semiterstruktur:
Kompresi internal untuk format berikut:
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 Discovery di tingkat zona atau aset.
Saat membuat zona atau aset, Anda dapat memilih untuk mewarisi setelan Discovery di tingkat zona, atau mengganti setelan Discovery di tingkat aset.
Berikut adalah opsi konfigurasi Discovery yang tersedia di tingkat zona dan aset:
Discovery aktif dan nonaktif
Jadwal penemuan: Opsi ini dapat disetel ke jadwal yang telah ditentukan sebelumnya—misalnya, per jam atau per hari, atau jadwal kustom yang ditentukan oleh format cron. Aset baru akan dipindai saat ditambahkan. Untuk informasi selengkapnya, lihat Mengonfigurasi jadwal cron. Direkomendasikan: Jadwalkan Discovery untuk berjalan setiap jam atau lebih jarang.
Sertakan atau kecualikan pola: Tentukan file yang akan disertakan atau dikecualikan dari pemindaian Discovery, dengan menggunakan pola glob di jalur sertakan atau kecualikan. Misalnya, jika Anda ingin mengecualikan
gs://test_bucket/foo/..
dari penemuan, masukkan**/foo/*
sebagai jalur pengecualian. Tanda kutip menyebabkan error. Pastikan untuk memasukkan**/foo/*
, bukan"**/foo/*"
.) Fungsi ini hanya tersedia untuk aset Cloud Storage. Jika pola yang menyertakan dan mengecualikan ada secara bersamaan, pola pengecualian 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 dari 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, Discovery akan menggunakan koma sebagai pemisah.Jumlah baris header: Kolom ini menerima nilai
0
atau1
. Nilai defaultnya adalah0
. Jika nilainya0
, Discovery akan melakukan inferensi header, dan jika header terdeteksi, Discovery 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-8
akan digunakan sebagai default.Nonaktifkan inferensi jenis: Kolom ini menerima nilai Boolean. Nilai 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 dari hal berikut:
Encoding: Kolom ini menerima nama encoding string, seperti
UTF-8
,US-ASCII
, atauISO-8859-1
. Jika tidak ada yang ditentukan,UTF-8
akan digunakan sebagai default.Nonaktifkan inferensi jenis data: Kolom ini menerima nilai Boolean. Nilai 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).
Memublikasikan metadata
Saat Anda membuat zona data di data lake Dataplex, Dataplex akan membuat set data BigQuery dalam project yang berisi data lake. Dataplex memublikasikan tabel ke set data tersebut untuk tabel yang ditemukan di bucket Cloud Storage yang ditambahkan ke zona data sebagai aset. Set data disebut sebagai set data publikasi metadata yang sesuai dengan zona.
Setiap zona data Dataplex dipetakan ke set data di BigQuery atau database di Dataproc Metastore, tempat informasi metadata tersedia secara otomatis.
Anda dapat mengedit metadata yang ditemukan secara otomatis, seperti nama tabel atau skema, menggunakan API metadata Dataplex.
Melihat tabel dan set file yang ditemukan
Anda dapat menelusuri tabel dan set file yang ditemukan di tampilan Penelusuran Dataplex di konsol Google Cloud.
Untuk hasil penelusuran yang lebih akurat, gunakan filter khusus Dataplex, seperti nama data lake dan zona data. 50 item teratas per faset 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 entrinya:
- Referensi tabel eksternal BigQuery
- Tombol untuk Buka di BigQuery guna mulai menganalisis data di BigQuery
Entri metadata Dataplex dapat dilihat secara langsung dan ditelusuri di Data Catalog. Untuk mempelajari lebih lanjut, lihat Referensi penelusuran Data Catalog.
Semua entri yang ditemukan dapat dilihat melalui API metadata Dataplex.
Tindakan penemuan
Penemuan akan memicu tindakan administrator berikut setiap kali masalah terkait data terdeteksi selama pemindaian.
Format data tidak valid
Tindakannya meliputi:
Format data yang tidak konsisten dalam tabel. Misalnya, file dalam format yang berbeda ada dengan awalan tabel yang sama.
Format data tidak valid di zona yang diseleksi (data tidak dalam format Avro, Parquet, atau ORC).
Skema tidak kompatibel
Tindakannya meliputi:
Skema yang terdeteksi oleh Discovery tidak kompatibel dengan skema tabel aktif di API metadata di Metastore Dataproc. Skema A dan skema B tidak kompatibel dalam skenario berikut:
A dan B memiliki kolom dengan nama yang sama, tetapi jenis datanya berbeda dan tidak kompatibel. Misalnya, string dan bilangan bulat.
A dan B tidak memiliki kolom yang tumpang-tindih.
A dan B memiliki minimal satu kolom non-nullable yang tidak ditemukan dalam skema lainnya.
Drift skema terhadap skema yang dikelola pengguna di zona yang diseleksi.
Definisi partisi tidak valid
Tindakannya meliputi:
Penamaan partisi tidak konsisten. Misalnya,
gs://sales_data/year=2020/month=10/day=01
dangs://sales_data/year=2020/region=us
.Penamaan partisi gaya non-Hive di zona data yang diseleksi. Misalnya,
gs://sales_data/2020/10/01
, bukangs://sales_data/year=2020/month=10/day=01
.
Data tidak ada
Tindakannya meliputi:
- Di zona data yang diseleksi, data pokok untuk tabel atau set file terdaftar tidak ada lagi. Dengan kata lain, tabel zona atau set file yang diseleksi ditemukan dan didaftarkan, tetapi kemudian data pokoknya dihapus. Anda dapat memperbaiki masalah ini dengan mengisi ulang data atau menghapus entri metadata.
Menyelesaikan tindakan Discovery
Data dengan tindakan diperiksa oleh pemindaian Discovery berikutnya. Jika masalah yang memicu tindakan telah diperbaiki, tindakan akan otomatis diselesaikan oleh pemindaian Discovery terjadwal berikutnya.
Tindakan Penemuan lainnya
Selain tindakan Discovery sebelumnya, ada tiga jenis tindakan lain yang terkait dengan status resource dan penyebaran kebijakan keamanan di Dataplex.
Resource tidak ada: Bucket atau set data pokok tidak ditemukan dan sesuai dengan aset yang ada.
Resource tidak sah: Dataplex tidak memiliki izin yang memadai untuk melakukan Penemuan atau menerapkan kebijakan keamanan ke bucket atau set data yang dikelola oleh Dataplex
Masalah terkait penyebaran kebijakan keamanan: Kebijakan keamanan yang ditentukan untuk lake, zona, atau aset tertentu tidak berhasil disebarkan ke bucket atau set data yang mendasarinya. Meskipun semua tindakan lainnya berada di tingkat aset, jenis tindakan ini dapat diajukan di tingkat danau, zona, dan aset.
Jenis tindakan ini diselesaikan secara otomatis saat masalah konfigurasi keamanan atau resource yang mendasarinya diperbaiki.
FAQ
Apa yang harus saya lakukan jika skema yang disimpulkan oleh Discovery 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
sehingga hasil edit Anda tidak ditimpa dalam pemindaian Discovery
berikutnya.
Bagaimana cara mengecualikan file dari pemindaian Penemuan?
Secara default, Discovery mengecualikan jenis file tertentu dari pemindaian, termasuk:
_SUCCESS
_started
_committed
_metadata
,_METADATA
,_Metadata
_common_metadata
,_COMMON_METADATA
- File yang diawali dengan
README
ataureadme
- Direktori yang dimulai dengan
base_
,delta_
,delete_delta_
,bucket_
, diikuti dengan angka - Direktori yang dimulai dengan
.
Anda dapat menentukan pola penyertaan atau pengecualian tambahan menggunakan konfigurasi Discovery 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 Discovery berada pada tingkat yang lebih terperinci dibandingkan dengan jalur root tabel—misalnya, setiap partisi didaftarkan sebagai tabel, mungkin 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 inkompatibilitas 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:
Perbaiki perbedaan format atau skema sehingga semua file di jalur root tabel yang sama memiliki format yang konsisten dan skema yang kompatibel.
Kecualikan file heterogen menggunakan konfigurasi pola pengecualian sebagai bagian dari konfigurasi zona / aset atau API metadata.
Setelah Anda mengambil salah satu langkah perbaikan, dalam pemindaian Discovery berikutnya, hal berikut akan terjadi:
- Tabel tingkat rendah yang ada akan otomatis dihapus dari API metadata Dataplex, BigQuery, Dataproc Metastore, dan Data Catalog.
- Sebagai gantinya, tabel tingkat yang lebih tinggi 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, sekaligus menonaktifkan Penemuan Dataplex. Atau, Anda dapat melakukan hal berikut:
- Buat tabel dengan hanya menentukan informasi yang diperlukan, seperti jalur root tabel.
- Gunakan Penemuan Dataplex untuk mengisi metadata lainnya, seperti definisi skema dan partisi.
- Selalu perbarui metadata.
Apa yang harus saya lakukan jika tabel saya tidak muncul di BigQuery?
Meskipun metadata Dataplex 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, termasuk tabel eksternal BigLake, tidak didukung oleh Discovery. Namun, tabel eksternal secara otomatis ditransfer ke Katalog Dataplex dan Anda dapat mencarinya di Katalog Dataplex.
Langkah selanjutnya
- Pelajari cara menggunakan metadata.