Kualitas Data di DataWorks menyediakan berbagai templat pemantauan bawaan. Topik ini menjelaskan logika verifikasi Kualitas Data dan templat aturan pemantauan bawaan yang tersedia.
Templat aturan bawaan
Gunakan templat aturan bawaan untuk mengatur aturan pemantauan secara cepat untuk satu tabel atau beberapa tabel sekaligus. Untuk detailnya, lihat Buat aturan pemantauan untuk satu tabel dan Buat aturan pemantauan untuk beberapa tabel sekaligus.
|
Template category |
Template name |
Description |
|
Number of rows |
Fixed value |
Memeriksa apakah jumlah baris sesuai dengan nilai tetap. |
|
Table not empty |
Memeriksa apakah tabel berisi setidaknya satu baris. |
|
|
1-day difference |
Memeriksa perubahan harian pada jumlah baris. Catatan
Garis dasar adalah jumlah baris partisi hari sebelumnya. Sistem membandingkan jumlah baris yang dikumpulkan hari ini terhadap garis dasar ini dan menghitung selisihnya. |
|
|
Change in table row count since the previous epoch |
Garis dasar adalah jumlah baris partisi dari siklus penjadwalan sebelumnya. Sistem membandingkan jumlah baris yang dikumpulkan hari ini terhadap garis dasar ini dan menghitung selisihnya. |
|
|
1, 7, 30 days and 1st of month volatility |
Membandingkan jumlah baris saat ini dengan jumlah baris 1 hari lalu, 7 hari lalu, 30 hari lalu, dan hari pertama bulan ini. Menghitung volatilitas dan membandingkannya terhadap ambang batas. Memicu peringatan jika salah satu ambang batas dilanggar. |
|
|
1, 7, 30 day volatility |
Membandingkan jumlah baris saat ini dengan jumlah baris 1 hari lalu, 7 hari lalu, dan 30 hari lalu untuk menghitung volatilitas. Catatan
Membandingkan jumlah baris saat ini dengan sampel hari sebelumnya, sampel 7 hari lalu, dan sampel 30 hari lalu. Menghitung volatilitas dan membandingkannya terhadap ambang batas. Memicu peringatan jika volatilitas melebihi ambang batas. |
|
|
1-day volatility |
Menggunakan jumlah baris hari sebelumnya sebagai garis dasar, membandingkannya dengan jumlah baris yang dikumpulkan hari ini, dan menghitung volatilitas. Memicu peringatan jika ambang batas dilanggar. |
|
|
30-day volatility |
Menggunakan jumlah baris 30 hari lalu sebagai garis dasar, membandingkannya dengan jumlah baris yang dikumpulkan hari ini, dan menghitung volatilitas. Memicu peringatan jika ambang batas dilanggar. |
|
|
7-day volatility |
Menggunakan jumlah baris 7 hari lalu sebagai garis dasar, membandingkannya dengan jumlah baris yang dikumpulkan hari ini, dan menghitung volatilitas. Memicu peringatan jika ambang batas dilanggar. |
|
|
Table rows (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
30-day average volatility |
Memantau fluktuasi jumlah baris. Garis dasarnya adalah rata-rata jumlah baris selama 30 hari terakhir, dihitung sebagai (jumlah total baris harian selama 30 hari) / 30. |
|
|
7-day average volatility |
Memantau fluktuasi jumlah baris. Garis dasarnya adalah rata-rata jumlah baris selama 7 hari terakhir, dihitung sebagai (jumlah total baris harian selama 7 hari) / 7. |
|
|
Upper cycle volatility |
Menggunakan jumlah baris partisi dari siklus penjadwalan sebelumnya sebagai garis dasar, membandingkannya dengan jumlah baris yang dikumpulkan hari ini, dan menghitung volatilitas. |
|
|
Custom range of table rows |
Memungkinkan Anda menentukan metode perbandingan dan rentang ambang batas untuk jumlah baris tabel. |
|
|
Condition match rate |
Condition match rate, custom range |
Memungkinkan Anda menentukan metode perbandingan dan rentang ambang batas untuk tingkat kecocokan kondisi filter. |
|
Table size |
Table size, fixed value |
Ukuran penyimpanan tabel (dalam byte). |
|
Table size, 1-day difference (bytes) |
Selisih ukuran penyimpanan tabel dibandingkan dengan 1 hari lalu (dalam byte). |
|
|
Table size, upper cycle difference |
Selisih ukuran tabel dibandingkan dengan siklus penjadwalan sebelumnya (dalam byte). |
|
|
Table size, 1-day volatility |
Memantau fluktuasi ukuran tabel. Membandingkan ukuran tabel saat ini dengan sampel hari sebelumnya, menghitung volatilitas, dan membandingkannya terhadap ambang batas. Memicu peringatan jika salah satu ambang batas dilanggar. Sebagai contoh, jika Anda menetapkan ambang batas oranye ke 5% dan ambang batas merah ke 10%, peringatan oranye dipicu ketika volatilitas melebihi 5% tetapi tidak melebihi 10%, dan peringatan merah dipicu ketika volatilitas melebihi 10%. |
|
|
Table size, 30-day volatility |
Memantau fluktuasi ukuran tabel. Membandingkan ukuran tabel saat ini dengan sampel 30 hari lalu, menghitung volatilitas, dan membandingkannya terhadap ambang batas. Memicu peringatan jika salah satu ambang batas dilanggar. |
|
|
Table size, 7-day volatility |
Memantau fluktuasi ukuran tabel. Membandingkan ukuran tabel saat ini dengan sampel 7 hari lalu, menghitung volatilitas, dan membandingkannya terhadap ambang batas. Memicu peringatan jika salah satu ambang batas dilanggar. |
|
|
Table size (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Null value rows |
Null count, fixed value |
Membandingkan jumlah nilai null kolom terhadap nilai tetap. Catatan
Nilai null ditentukan dengan mengonversi ke ekspresi SQL |
|
Null count equals 0 |
Memeriksa apakah jumlah nilai null adalah 0. |
|
|
Null count / total rows |
Null count / total rows, fixed value |
Membandingkan rasio jumlah nilai null terhadap jumlah total baris terhadap nilai tetap. Catatan
Nilai tetap berupa desimal. |
|
Format validation |
Regex validation |
Memeriksa apakah nilai kolom sesuai dengan ekspresi reguler. |
|
Date format validation |
Memeriksa apakah nilai kolom sesuai dengan format tanggal. |
|
|
Email format validation |
Memeriksa apakah nilai kolom sesuai dengan format email. |
|
|
ID card format validation |
Memeriksa apakah nilai kolom sesuai dengan format kartu identitas. |
|
|
Phone number format validation |
Memeriksa apakah nilai kolom sesuai dengan format nomor ponsel. |
|
|
Currency format validation |
Memeriksa apakah nilai kolom sesuai dengan format mata uang. |
|
|
Numeric format validation |
Memeriksa apakah nilai kolom sesuai dengan format numerik. |
|
|
Telephone number format validation |
Memeriksa apakah nilai kolom sesuai dengan format nomor telepon. |
|
|
Duplicate value rows |
Duplicate count, fixed value |
Jumlah duplikat adalah jumlah total baris dikurangi jumlah nilai unik. Membandingkan jumlah duplikat terhadap nilai tetap. |
|
Column duplicate count equals 0 |
Memeriksa apakah jumlah duplikat kolom adalah 0. |
|
|
Multi-column unique values |
Multi-column duplicate count equals 0 |
Memeriksa apakah jumlah duplikat multi-kolom adalah 0. |
|
Duplicate count / total rows |
Duplicate count / total rows, fixed value |
Membandingkan rasio jumlah duplikat terhadap jumlah total baris terhadap nilai tetap. |
|
Unique value count |
Unique value count, fixed value |
Membandingkan jumlah nilai unik terhadap angka yang diharapkan (pemeriksaan nilai tetap). |
|
Unique value count, 1, 7, 30 day volatility |
Membandingkan jumlah nilai unik dengan sampel 1 hari lalu, 7 hari lalu, dan 30 hari lalu untuk menghitung volatilitas. |
|
|
Unique value count (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Unique value count / total rows |
Unique value count / total rows, fixed value |
Membandingkan rasio jumlah nilai unik terhadap jumlah total baris terhadap nilai tetap. |
|
Minimum value |
Minimum value, 1, 7, 30 day volatility |
Mengambil nilai minimum kolom dan membandingkannya dengan sampel 1 hari lalu, 7 hari lalu, dan 30 hari lalu. Menghitung volatilitas dan memicu peringatan jika salah satu ambang batas dilanggar. |
|
Minimum value (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Minimum value, 1-day volatility |
Mengambil nilai minimum kolom, membandingkannya dengan nilai 1 hari lalu, dan menghitung volatilitas terhadap ambang batas. |
|
|
Minimum value, upper cycle volatility |
Mengambil nilai minimum kolom, membandingkannya dengan nilai dari siklus penjadwalan sebelumnya, dan menghitung volatilitas. Memicu peringatan jika ambang batas dilanggar. |
|
|
Column minimum value, custom range |
Memungkinkan Anda menentukan metode perbandingan dan rentang ambang batas untuk nilai minimum kolom. |
|
|
Maximum value |
Maximum value, 1, 7, 30 day volatility |
Mengambil nilai maksimum kolom dan membandingkannya dengan sampel 1 hari lalu, 7 hari lalu, dan 30 hari lalu. Menghitung volatilitas dan memicu peringatan jika salah satu ambang batas dilanggar. |
|
Maximum value (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Maximum value, 1-day volatility |
Mengambil nilai maksimum kolom, membandingkannya dengan nilai 1 hari lalu, dan menghitung volatilitas terhadap ambang batas. |
|
|
Maximum value, upper cycle volatility |
Mengambil nilai maksimum kolom, membandingkannya dengan nilai dari siklus penjadwalan sebelumnya, dan menghitung volatilitas. Memicu peringatan jika ambang batas dilanggar. |
|
|
Column maximum value, custom range |
Memungkinkan Anda menentukan metode perbandingan dan rentang ambang batas untuk nilai maksimum kolom. |
|
|
Average value |
Average value, 1, 7, 30 day volatility |
Mengambil nilai rata-rata kolom dan membandingkannya dengan sampel 1 hari lalu, 7 hari lalu, dan 30 hari lalu. Menghitung volatilitas dan memicu peringatan jika salah satu ambang batas dilanggar. Catatan
Nilai rata-rata kolom dibandingkan masing-masing dengan nilai rata-rata hari sebelumnya, 7 hari lalu, dan 30 hari lalu. |
|
Average value (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Average value, 1-day volatility |
Mengambil nilai rata-rata kolom, membandingkannya dengan nilai 1 hari lalu, dan menghitung volatilitas terhadap ambang batas. |
|
|
Column average value, custom range |
Memungkinkan Anda menentukan metode perbandingan dan rentang ambang batas untuk nilai rata-rata kolom. |
|
|
Sum value |
Sum value, 1, 7, 30 day volatility |
Mengambil jumlah nilai kolom dan membandingkannya dengan sampel 1 hari lalu, 7 hari lalu, dan 30 hari lalu. Menghitung volatilitas dan memicu peringatan jika salah satu ambang batas dilanggar. |
|
Sum value (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Sum value, 1-day volatility |
Mengambil jumlah nilai kolom, membandingkannya dengan nilai 1 hari lalu, dan menghitung volatilitas terhadap ambang batas. |
|
|
Sum value, upper cycle volatility |
Mengambil jumlah nilai kolom, membandingkannya dengan nilai dari siklus penjadwalan sebelumnya, dan menghitung volatilitas. Memicu peringatan jika ambang batas dilanggar. |
|
|
Column sum value, custom range |
Memungkinkan Anda menentukan metode perbandingan dan rentang ambang batas untuk jumlah nilai kolom. |
|
|
Enum values |
Unmatched enum unique value count, fixed value |
Membandingkan jumlah nilai unik enum yang tidak cocok. |
|
Unmatched enum row count, fixed value |
Jumlah baris nilai enum yang tidak cocok dalam kolom, dibandingkan terhadap nilai tetap tertentu. |
|
|
Unmatched enum row count equals 0 |
Status normal yang diharapkan: nilai tetap dan metode perbandingan diatur ke = 0. Peringatan dipicu kapan pun jumlah baris enum yang tidak cocok > 0. |
|
|
Enum values, custom, fixed value |
Memungkinkan Anda menyesuaikan statistik terkait enum seperti jumlah, jumlah baris, metode perbandingan, dan ambang batas. |
|
|
Discrete values |
Discrete value (group count per value), fixed value |
Setelah operasi GROUP BY, jumlah setiap kelompok dibandingkan terhadap nilai tetap. |
|
Discrete value (number of groups), fixed value |
Setelah operasi GROUP BY, jumlah kelompok dibandingkan terhadap nilai tetap. |
|
|
Discrete value (number of groups) (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Discrete value (group count per value) (intelligent dynamic threshold) |
Saat Intelligent Dynamic Threshold diaktifkan, Anda tidak perlu mengonfigurasi manual ambang batas volatilitas atau nilai yang diharapkan. Sistem secara otomatis menentukan ambang batas yang wajar menggunakan algoritma cerdas dan memicu peringatan atau blokir saat terdeteksi anomali. |
|
|
Discrete value (number of groups), 1-day volatility |
Setelah operasi GROUP BY, jumlah kelompok dibandingkan dengan sampel 1 hari lalu untuk menghitung volatilitas. |
|
|
Discrete value (number of groups and group count per value), 1, 7, 30 day volatility |
Setelah operasi GROUP BY, jumlah kelompok dan jumlah setiap kelompok dibandingkan dengan sampel 1 hari lalu, 7 hari lalu, dan 30 hari lalu untuk menghitung volatilitas. |
Templat aturan ukuran tabel tidak didukung untuk tabel EMR.
Deskripsi perhitungan
Perhitungan volatilitas: Rumus volatilitas adalah (Nilai saat ini - Nilai garis dasar) / Nilai garis dasar. Nilai saat ini adalah nilai metrik aktual dari pemeriksaan saat ini, dan Nilai garis dasar ditentukan secara dinamis oleh templat yang Anda pilih. Contohnya:
-
Untuk templat N-day volatility, garis dasar adalah nilai metrik N hari lalu untuk aturan yang sama.
-
Untuk templat N-day average volatility, garis dasar adalah rata-rata aritmetika nilai metrik selama N hari terakhir.
-
Untuk templat upper cycle volatility, garis dasar adalah nilai metrik dari siklus penjadwalan sebelumnya.
Logika verifikasi
Kualitas Data mendukung tiga metode verifikasi: perbandingan nilai tetap, perbandingan volatilitas, dan ambang batas dinamis.
|
Verification method |
Verification logic |
|
Fixed value comparison |
Mengevaluasi ekspresi verifikasi dan mengembalikan nilai Boolean. Operator perbandingan berikut didukung: |
|
Volatility comparison |
Metode ini memantau besarnya perubahan metrik dan mendukung tiga jenis perbandingan:
Sistem menentukan tingkat peringatan berdasarkan ambang batas oranye dan ambang batas merah yang Anda konfigurasi. |
|
Dynamic threshold |
Anda tidak perlu menetapkan ambang batas secara manual. Sistem secara otomatis mendeteksi kebenaran metrik secara real time menggunakan model algoritma. Peringatan dipicu jika metrik melebihi rentang fluktuasi yang wajar. |
Lampiran 1: Deskripsi garis dasar siklus sebelumnya
Tugas siklus sebelumnya ditentukan dengan mengecualikan pemeriksaan yang memiliki tanggal bisnis yang sama, mengurutkan berdasarkan tanggal bisnis secara menurun, dan jika tanggal bisnis sama, mengurutkan lebih lanjut berdasarkan waktu eksekusi secara menurun. Tugas pertama dalam urutan ini digunakan sebagai garis dasar. Lihat tabel berikut untuk detailnya:
|
Schedule type |
Business date |
Baseline comparison method |
FAQ |
|
Normal daily scheduling scenario |
Historical business dates:
|
Saat tugas terjadwal dengan tanggal bisnis 2024-06-06 memulai verifikasi, hasil pemeriksaan dari 2024-06-05 digunakan sebagai garis dasar untuk perbandingan. |
Backfill data scenario: Background: Tugas dari 2024-06-01 hingga 2024-06-05 dieksekusi secara normal. Setelah instans terjadwal pada 2024-06-05 selesai, backfill dilakukan untuk instans dengan tanggal bisnis 2024-07-01. Saat tugas terjadwal dengan tanggal bisnis 2024-06-06 memulai verifikasi, tanggal mana yang digunakan sebagai garis dasar untuk perbandingan? Conclusion: Tugas terjadwal dengan tanggal bisnis 2024-06-06 menggunakan hasil pemeriksaan dari tanggal bisnis 2024-07-01 sebagai garis dasar untuk perbandingan. Karena tanggal bisnis 2024-07-01 lebih baru, semua tugas terjadwal harian berikutnya akan menggunakan 2024-07-01 sebagai garis dasar hingga instans terjadwal untuk 2024-07-02 selesai dieksekusi. |
|
Normal hourly scheduling scenario |
Historical business dates:
Tugas dijalankan sesuai jadwal per jam dengan 3 eksekusi per hari. |
Saat tugas terjadwal per jam dengan tanggal bisnis 2024-06-04 memulai verifikasi, hasil pemeriksaan terakhir dari tanggal bisnis 2024-06-03 digunakan sebagai garis dasar untuk perbandingan. |
Hourly scheduling scenario: Background: Dari 2024-06-01 hingga 2024-06-03, tiga instans terjadwal per jam dijalankan setiap hari, dan instans terjadwal pertama pada tanggal bisnis 2024-06-04 juga berjalan secara normal. Saat instans terjadwal kedua pada tanggal bisnis 2024-06-04 memulai verifikasi, tanggal mana yang digunakan sebagai garis dasar untuk perbandingan? Conclusion: Saat instans terjadwal kedua pada tanggal bisnis 2024-06-04 memulai verifikasi, sistem mengecualikan pemeriksaan pertama dari hari yang sama (2024-06-04) dan menggunakan hasil pemeriksaan terakhir dari tanggal bisnis 2024-06-03 sebagai garis dasar untuk perbandingan. |
Lampiran 2: Nilai sampel N hari lalu untuk tugas per jam
Saat tugas per jam mengambil sampel N hari lalu, sistem mengurutkan hasil dari hari ke-N berdasarkan waktu eksekusi (bukan waktu terjadwal) secara menurun dan menggunakan hasil instans pertama sebagai nilai sampel untuk perbandingan dengan hasil saat ini. Lihat tabel berikut untuk detailnya:
|
Schedule type |
Business date |
Volatility comparison method |
FAQ |
|
Normal hourly scheduling scenario |
Historical business dates:
Tugas dijalankan sesuai jadwal per jam dengan 3 eksekusi per hari. |
Untuk perbandingan volatilitas 7 hari, saat tugas terjadwal per jam dengan tanggal eksekusi 2024-06-08 memulai verifikasi, nilai sampel terakhir dari tanggal eksekusi 2024-06-01 digunakan. |
Hourly scheduling scenario: Background: Dari 2024-06-01 hingga 2024-06-08, tiga instans terjadwal per jam dijalankan setiap hari. Saat instans terjadwal kedua pada tanggal eksekusi 2024-06-08 memulai verifikasi, hasil dari tanggal dan instans terjadwal mana yang digunakan sebagai nilai sampel untuk perbandingan volatilitas 7 hari? Conclusion: Saat instans terjadwal kedua pada tanggal eksekusi 2024-06-08 memulai verifikasi, hasil pemeriksaan terakhir dari tanggal eksekusi 2024-06-01 digunakan sebagai nilai sampel untuk perbandingan volatilitas 7 hari. |