Dokumen ini menjelaskan kualitas data otomatis Dataplex, yang memungkinkan Anda menentukan dan mengukur kualitas data Anda. Anda dapat mengotomatiskan pemindaian data, memvalidasi data berdasarkan aturan yang ditentukan, dan membuat pemberitahuan log jika data tidak memenuhi persyaratan kualitas. Anda dapat mengelola deployment dan aturan kualitas data sebagai kode, sehingga meningkatkan integritas pipeline produksi data.
Anda dapat memulai dengan menggunakan rekomendasi aturan profiling data Dataplex, atau dengan membuat aturan khusus di Konsol Google Cloud. Dataplex menyediakan pemantauan, pemecahan masalah, dan pemberitahuan Cloud Logging yang terintegrasi dengan kualitas data otomatis Dataplex.
Model konseptual
Pemindaian data adalah tugas Dataplex yang mengambil sampel data dari BigQuery dan Cloud Storage serta menyimpulkan berbagai jenis metadata. Untuk mengukur kualitas tabel menggunakan kualitas data otomatis, buat
objek DataScan
jenis data quality
. Pemindaian hanya berjalan pada
satu tabel BigQuery. Pemindaian menggunakan resource dalam project tenant Google, sehingga Anda tidak perlu menyiapkan infrastruktur sendiri.
Membuat dan menggunakan pemindaian kualitas data terdiri dari langkah-langkah berikut:
- Definisi aturan
- Eksekusi aturan
- Pemantauan dan pemberitahuan
- Pemecahan masalah
Definisi aturan
Aturan kualitas data yang terkait dengan pemindaian kualitas data menentukan ekspektasi data. Anda dapat membuat aturan kualitas data dengan cara berikut:
- Menggunakan rekomendasi dari pembuatan profil data Dataplex
- Gunakan aturan standar
- Membuat aturan SQL kustom
Aturan yang telah ditetapkan
Dataplex mendukung dua kategori aturan yang telah ditetapkan: tingkat baris atau agregat.
- Tingkat baris
Untuk aturan kategori tingkat baris, ekspektasi diterapkan pada setiap baris data. Setiap baris secara independen lulus atau menggagalkan kondisi. Misalnya,
column_A_value < 1
.Pemeriksaan tingkat baris mengharuskan Anda menentukan nilai minimum kelulusan. Jika persentase baris yang lulus aturan berada di bawah nilai minimum, aturan akan gagal.
- Agregat
Untuk aturan gabungan, ekspektasi diterapkan terhadap satu nilai yang digabungkan di seluruh data. Contoh,
Avg(someCol) >= 10
Agar lulus, pemeriksaan harus bernilai booleantrue
. Aturan agregat tidak memberikan jumlah penerusan atau kegagalan independen untuk setiap baris.
Untuk kedua kategori aturan, Anda dapat menetapkan parameter berikut:
- Kolom tempat aturan diterapkan.
- Dimensi dari kumpulan dimensi standar.
Tabel berikut mencantumkan jenis aturan agregat dan tingkat baris yang didukung:
Jenis aturan (Nama di Konsol Google Cloud) |
Aturan agregat atau tingkat baris | Deskripsi | Jenis kolom yang didukung | Parameter khusus aturan |
---|---|---|---|---|
RangeExpectation (Pemeriksaan Rentang) |
Tingkat baris | Periksa apakah nilainya antara nilai minimum dan maksimum. | Semua kolom jenis numerik, tanggal, dan stempel waktu. | Wajib:
|
NonNullExpectation (Pemeriksaan null) |
Tingkat baris | Validasi bahwa nilai kolom bukan NULL. | Semua jenis kolom yang didukung. | Wajib:
|
SetExpectation (Tetapkan pemeriksaan) |
Tingkat baris | Memeriksa apakah nilai dalam kolom adalah salah satu dari nilai yang ditentukan dalam kumpulan. | Semua jenis kolom yang didukung, kecuali Record dan Struct . |
Wajib:
|
RegexExpectation (Pemeriksaan ekspresi reguler) |
Tingkat baris | Periksa nilai berdasarkan ekspresi reguler yang ditentukan. | String | Wajib:
|
Uniqueness (Pemeriksaan Keunikan) |
Agregat | Periksa apakah semua nilai dalam kolom bersifat unik. | Semua jenis kolom yang didukung, kecuali Record dan Struct . |
Wajib:
|
StatisticRangeExpectation (Pemeriksaan statistik) |
Agregat | Periksa apakah ukuran statistik yang ditentukan cocok dengan ekspektasi rentang. | Semua jenis kolom numerik yang didukung. | Wajib:
|
Jenis aturan SQL kustom yang didukung
Aturan SQL memberikan fleksibilitas untuk memperluas validasi dengan logika kustom. Aturan ini memiliki dua jenis.
Jenis aturan | Aturan agregat atau tingkat baris | Deskripsi | Jenis kolom yang didukung | Parameter khusus aturan | Contoh |
---|---|---|---|---|---|
Kondisi baris | Tingkat baris | Anda dapat menentukan ekspektasi dari setiap baris dengan menentukan ekspresi SQL dalam klausa where . Ekspresi SQL harus bernilai true (lulus) atau false (gagal) per baris.
Dataplex menghitung persentase baris yang lulus ekspektasi ini dan membandingkannya dengan persentase nilai minimum untuk menentukan keberhasilan atau kegagalan aturan. Data ini dapat mencakup referensi ke tabel lain, misalnya untuk membuat pemeriksaan integritas referensial. |
Semua kolom | Wajib:
|
grossWeight <= netWeight |
Ekspresi SQL gabungan | Agregat | Aturan ini dijalankan sekali per tabel. Berikan ekspresi SQL yang dievaluasi ke boolean true (lulus) atau false (gagal).Ekspresi SQL dapat menyertakan referensi ke tabel lain menggunakan subkueri ekspresi. |
Semua kolom | Wajib:
|
Contoh agregat sederhana:avg(price) > 100 Menggunakan sub kueri ekspresi untuk membandingkan nilai di tabel yang berbeda: (SELECT COUNT(*) FROM `example_project.example_dataset.different-table`) < COUNT(*) |
Untuk contoh aturan, lihat aturan contoh kualitas data otomatis.
Untuk fungsi SQL yang didukung, lihat Referensi GoogleSQL.
Dimensi
Dimensi memungkinkan Anda menggabungkan hasil dari beberapa aturan kualitas data untuk pemantauan dan pemberitahuan. Anda harus mengaitkan setiap aturan kualitas data dengan dimensi. Dataplex mendukung dimensi berikut:
- Keaktualan
- Volume
- Kelengkapan
- Validitas
- Konsistensi
- Akurasi
- Keunikan
Input yang diketik dalam aturan
Semua parameter nilai diteruskan sebagai nilai string ke API. Dataplex memerlukan input untuk mengikuti format yang ditentukan BigQuery.
Parameter berjenis biner dapat diteruskan sebagai string berenkode base64.
Jenis | Format yang didukung | Contoh |
---|---|---|
Biner | Nilai yang dienkode Base64 | YXBwbGU= |
Stempel waktu | YYYY-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]] [time_zone] ATAU YYYY-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][time_zone_offset] |
27-09-2014 12:30:00,45-08 |
Tanggal | TTTT-M[M]-D[D] | 2014-09-27 |
Waktu | [H]H:[M]M:[S]S[.DDDDDD] | 12:30:00,45 |
DateTime | 'YYYY-[M]M-[D]D [[H]H:[M]M:[S]S[.DDDDDD]] | 27-09-2014 12:30:00.45 |
Eksekusi aturan
Anda dapat menjadwalkan pemindaian kualitas data untuk dijalankan pada interval tertentu, atau Anda dapat menjalankan pemindaian on demand. Untuk mengelola pemindaian kualitas data, Anda dapat menggunakan API atau Konsol Google Cloud.
Saat Anda menjalankan pemindaian kualitas data, Dataplex akan membuat tugas. Sebagai bagian dari spesifikasi pemindaian kualitas data, Anda dapat menentukan cakupan tugas menjadi salah satu dari berikut:
- Meja Lengkap
- Setiap tugas memvalidasi seluruh tabel.
- Inkremental
- Setiap tugas memvalidasi data inkremental. Untuk menentukan penambahan, berikan kolom
Date
/Timestamp
dalam tabel yang dapat digunakan sebagai penanda. Biasanya, ini adalah kolom tempat tabel dipartisi.
Data filter
Dataplex dapat memfilter data yang akan dipindai untuk mengetahui kualitas data dengan menggunakan filter baris. Membuat filter baris memungkinkan Anda berfokus pada data dalam jangka waktu tertentu atau segmen tertentu, seperti wilayah tertentu. Menggunakan filter dapat mengurangi waktu dan biaya eksekusi, misalnya, memfilter data dengan stempel waktu sebelum tanggal tertentu.
Data sampel
Dataplex memungkinkan Anda menentukan persentase data dari data Anda untuk diambil sampelnya untuk menjalankan pemindaian kualitas data. Membuat pemindaian kualitas data pada sampel data yang lebih kecil dapat mengurangi waktu eksekusi dan biaya kueri seluruh set data.
Pemantauan dan pemberitahuan
Anda dapat mengekspor hasil pemindaian ke tabel BigQuery untuk dianalisis lebih lanjut. Untuk menyesuaikan pelaporan, Anda dapat menghubungkan data tabel BigQuery ke dasbor Looker. Anda dapat membuat laporan gabungan menggunakan tabel hasil yang sama di beberapa pemindaian.
Anda dapat memantau tugas kualitas data menggunakan log data_scan
dan data_quality_scan_rule_result
di Logs Explorer.
Untuk setiap tugas kualitas data, log data_scan
dengan kolom data_scan_type
yang ditetapkan ke DATA_QUALITY
berisi informasi berikut:
- Sumber data yang digunakan untuk pemindaian data.
- Detail eksekusi tugas, seperti waktu pembuatan, waktu mulai, waktu berakhir, dan status tugas.
- Hasil tugas kualitas data: lulus atau gagal.
- Tingkat dimensi lulus atau gagal.
Setiap tugas yang berhasil berisi log data_quality_scan_rule_result
dengan informasi mendetail berikut tentang setiap aturan dalam tugas tersebut:
- Informasi konfigurasi, seperti nama aturan, jenis aturan, jenis evaluasi, dan dimensi.
- Informasi hasil, seperti lulus atau gagal, jumlah baris total, jumlah baris yang diteruskan, jumlah baris null, dan jumlah baris yang dievaluasi.
Informasi dalam log tersedia melalui API dan Konsol Google Cloud. Anda dapat menggunakan informasi ini untuk menyiapkan pemberitahuan. Untuk mengetahui informasi selengkapnya, lihat Menyetel pemberitahuan di Cloud Logging.
Memecahkan masalah kegagalan
Jika aturan gagal, Dataplex akan menghasilkan kueri yang menampilkan semua kolom tabel (bukan hanya kolom yang gagal).
Batasan
- Hasil pemindaian kualitas data tidak dipublikasikan ke Data Catalog sebagai tag.
- Rekomendasi aturan hanya didukung di Konsol Google Cloud.
- Pilihan dimensi ditetapkan pada salah satu dari tujuh dimensi standar.
- Jumlah aturan per pemindaian kualitas data dibatasi hingga 1.000.
Harga
Dataplex menggunakan SKU pemrosesan premium untuk mengenakan biaya atas kualitas data otomatis. Untuk mengetahui informasi lebih lanjut, lihat Harga Dataplex.
Publikasi hasil kualitas data otomatis ke Katalog belum tersedia. Jika sudah tersedia, penyimpanan akan dikenakan tarif yang sama dengan harga penyimpanan metadata Katalog. Lihat Harga untuk mengetahui detail selengkapnya.
Pemrosesan Dataplex premium untuk kualitas data otomatis dikenai biaya per detik dengan minimum satu menit.
Pemindaian kualitas data yang gagal tidak dikenai biaya.
Biaya bergantung pada jumlah baris, jumlah kolom, jumlah data yang telah dipindai, konfigurasi aturan kualitas data, setelan partisi dan pengelompokan pada tabel, serta frekuensi gscan.
Ada beberapa opsi untuk mengurangi biaya pemindaian kualitas data otomatis:
Pisahkan biaya kualitas data dari tagihan lain di SKU pemrosesan premium Dataplex, gunakan label
goog-dataplex-workload-type
dengan nilaiDATA_QUALITY
.Filter biaya gabungan. Gunakan label berikut:
goog-dataplex-datascan-data-source-dataplex-entity
goog-dataplex-datascan-data-source-dataplex-lake
goog-dataplex-datascan-data-source-dataplex-zone
goog-dataplex-datascan-data-source-project
goog-dataplex-datascan-data-source-region
goog-dataplex-datascan-id
goog-dataplex-datascan-job-id
Apa langkah selanjutnya?
- Pelajari cara menggunakan kualitas data otomatis.
- Pelajari pembuatan profil data.
- Pelajari cara menggunakan pembuatan profil data.