Ringkasan kualitas data otomatis

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 kualitas data menerapkan aturan kualitas pada data tabel untuk melaporkan hasil.

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:

  1. Definisi aturan
  2. Eksekusi aturan
  3. Pemantauan dan pemberitahuan
  4. 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:

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 boolean true. 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:
  • Persentase batas lulus
  • Nilai mean, min, atau max: Tentukan setidaknya satu nilai.
Opsional:
  • Aktifkan strict min: Jika diaktifkan, pemeriksaan aturan akan menggunakan ">", bukan ">=".
  • Aktifkan strict max: Jika diaktifkan, pemeriksaan aturan akan menggunakan "<" bukan "<=".
  • Aktifkan ignore null: Jika diaktifkan, nilai null akan diabaikan dalam pemeriksaan aturan.
NonNullExpectation
(Pemeriksaan null)
Tingkat baris Validasi bahwa nilai kolom bukan NULL. Semua jenis kolom yang didukung. Wajib:
  • Persentase batas lulus.
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:
  • Kumpulan nilai string yang akan diperiksa.
  • Persentase batas lulus.
Opsional:
  • Aktifkan ignore null: Jika diaktifkan, nilai null akan diabaikan dalam pemeriksaan aturan.
RegexExpectation
(Pemeriksaan ekspresi reguler)
Tingkat baris Periksa nilai berdasarkan ekspresi reguler yang ditentukan. String Wajib:
  • Pola ekspresi reguler yang digunakan untuk memeriksa.
  • Persentase batas lulus.
  • Catatan: SQL Standar Google menyediakan dukungan ekspresi reguler menggunakan library re2; Lihat dokumentasi tersebut untuk sintaksis ekspresi regulernya.
Opsional:
  • Aktifkan ignore null: Jika diaktifkan, nilai null akan diabaikan dalam pemeriksaan aturan.
Uniqueness
(Pemeriksaan Keunikan)
Agregat Periksa apakah semua nilai dalam kolom bersifat unik. Semua jenis kolom yang didukung, kecuali Record dan Struct. Wajib:
  • Kolom dan dimensi dari parameter yang didukung.
Opsional:
  • Aktifkan ignore null: Jika diaktifkan, nilai null akan diabaikan dalam pemeriksaan aturan.
StatisticRangeExpectation
(Pemeriksaan statistik)
Agregat Periksa apakah ukuran statistik yang ditentukan cocok dengan ekspektasi rentang. Semua jenis kolom numerik yang didukung. Wajib:
  • Nilai mean, min, atau max: Tentukan setidaknya satu nilai.
Opsional:
  • Aktifkan strict min: Jika diaktifkan, pemeriksaan aturan akan menggunakan ">", bukan ">=".
  • Aktifkan strict max: Jika diaktifkan, pemeriksaan aturan akan menggunakan "<" bukan "<=".

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:
  • Kondisi SQL yang akan digunakan
  • Persentase batas lulus
  • Dimensi
Opsional:
  • Kolom untuk mengaitkan aturan ini.
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:
  • Kondisi SQL yang akan digunakan
  • Dimensi
Opsional:
  • Kolom untuk mengaitkan aturan ini
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 nilai DATA_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?