Ketika pipeline ETL memproses data buruk, setiap tabel downstream mewarisi masalah tersebut. Data Quality memungkinkan Anda menangkap isu-isu ini sejak sumbernya: sistem ini memeriksa setiap tabel MaxCompute setelah node penjadwalannya berjalan, dan ketika suatu aturan gagal, sistem dapat memblokir semua tugas downstream sebelum data kotor menyebar lebih jauh.
Tutorial ini menjelaskan cara mengonfigurasi aturan pemantauan untuk tiga tabel dalam pipeline analisis persona pengguna: ods_raw_log_d, ods_user_info_d, dan ads_user_info_1d.
Prasyarat
Sebelum memulai, pastikan Anda telah menyelesaikan:
Sinkronisasi data — menyinkronkan
ods_user_info_ddari ApsaraDB RDS for MySQL danods_raw_log_ddari Object Storage Service (OSS) ke MaxCompute menggunakan Data IntegrationPemrosesan data — memproses data mentah menjadi data persona pengguna di DataStudio
Konsep utama
| Concept | Description |
|---|---|
| Monitor | Menentukan rentang data yang akan diperiksa dan kondisi pemicunya. Sebuah monitor dibatasi pada satu partisi (misalnya, dt=$[yyyymmdd-1] memilih data kemarin) dan dijalankan setiap kali node penjadwalan terkait selesai. |
| Monitoring rule | Menentukan apa yang diperiksa (misalnya, jumlah baris > 0, keunikan primary key) dan tindakan yang diambil jika terjadi pelanggaran. |
Aturan memiliki dua tingkat keparahan yang menentukan hasilnya:
| Severity | Violation outcome |
|---|---|
| Strong rule | Node penjadwalan ditandai sebagai Failed, dan semua tugas downstream diblokir. Gunakan untuk pemeriksaan di mana data kotor tidak boleh dilanjutkan. |
| Soft rule | Notifikasi peringatan dikirim ke subscriber. Tugas downstream tetap berjalan. Gunakan untuk pemeriksaan di mana Anda ingin mendapatkan visibilitas tanpa menghentikan pipeline. |
Persyaratan pemantauan
Tabel berikut merangkum pemeriksaan kualitas untuk setiap tabel dalam tutorial ini:
| Table | Rule | Severity |
|---|---|---|
ods_raw_log_d | Row count > 0 | Strong rule — memblokir downstream jika tabel kosong setelah sinkronisasi harian dari OSS |
ods_user_info_d | Row count > 0 | Strong rule — memblokir downstream jika tidak ada baris yang dimuat |
ods_user_info_d | Keunikan primary key uid | Soft rule — memberi notifikasi kepada subscriber jika ditemukan duplikat |
dwd_log_info_di | Tidak dipantau | — |
dws_user_info_all_di | Tidak dipantau | — |
ads_user_info_1d | Row count > 0 | Strong rule — memblokir downstream jika tabel hasil kosong |
ads_user_info_1d | Volatilitas jumlah baris 7 hari | Soft rule — memberi notifikasi jika jumlah UV harian menyimpang lebih dari 10% atau 50% dari rata-rata 7 hari |
Buka halaman konfigurasi aturan
Masuk ke Konsol DataWorks. Pada bilah navigasi atas, pilih wilayah target. Di panel navigasi sebelah kiri, pilih Data Governance > Data Quality. Pilih ruang kerja target dari daftar tarik-turun, lalu klik Go to Data Quality.
Di panel navigasi kiri halaman Data Quality, klik Configure Rules > Configure By Table.
Cari tabel target menggunakan filter berikut:
Data Source: MaxCompute
Database: proyek produksi Anda, misalnya,
workshop2024_01Table: masukkan nama tabel
Pada hasil pencarian, klik Rule Management di kolom Actions. Halaman Table Quality Details akan muncul.
Ulangi langkah 3–4 untuk setiap tabel yang ingin Anda konfigurasi: ods_raw_log_d, ods_user_info_d, dan ads_user_info_1d.
Konfigurasi aturan pemantauan untuk ods_raw_log_d
Tabel ods_raw_log_d menyimpan log akses website yang disinkronkan harian dari OSS. Jika tabel kosong setelah sinkronisasi, seluruh pemrosesan downstream menjadi sia-sia. Konfigurasikan aturan kuat yang memblokir tugas downstream ketika jumlah barisnya 0.
Langkah 1: Buat monitor
Monitor menentukan partisi yang akan diperiksa dan node penjadwalan yang memicu pemeriksaan.
Di tab Monitor, klik Create Monitor.
Konfigurasikan monitor dengan parameter kunci berikut:
Mengatur Data Range ke
dt=$[yyyymmdd-1]berarti monitor memeriksa partisi kemarin setiap kali job penjadwalan dijalankan hari ini. Untuk daftar lengkap parameter monitor, lihat Configure a monitoring rule for a single table.Parameter Value Data Range dt=$[yyyymmdd-1]Trigger Method Dipicu oleh penjadwalan produksi. Pilih node ods_raw_log_dyang dibuat saat sinkronisasi data.Monitoring Rule Biarkan kosong untuk saat ini.
Langkah 2: Tambahkan aturan pemantauan
Di tab Rule Management, pada bagian Monitor Perspective, pilih monitor yang telah Anda buat (misalnya,
raw_log_number_of_table_rows_not_0). Klik Create Rule.Di tab System Template Rules, temukan Table Row Count Is Greater Than 0, klik +Use, lalu atur Degree of importance ke Strong rules.
Klik Determine.
Dengan aturan kuat, jika jumlah baris pada partisi target adalah 0, node
ods_raw_log_dakan gagal dan semua tugas downstream diblokir. Untuk detail parameter, lihat Configure rules for a single table.
Langkah 3: Jalankan pengujian
Uji monitor untuk memverifikasi bahwa aturan telah dikonfigurasi dengan benar.
Di tab Rule Management, di bawah Monitor Perspective, pilih monitor (misalnya,
raw_log_number_of_table_rows_not_0) lalu klik Test Run.Pada kotak dialog Test Run, pilih Scheduling Time, lalu klik Test Run.
Setelah pengujian selesai, klik View Details untuk memeriksa apakah pengujian berhasil.
Langkah 4: Berlangganan notifikasi
Berlangganan monitor untuk menerima notifikasi saat aturan dilanggar.
Di tab Rule Management, di bawah Monitor Perspective, pilih monitor lalu klik Alert Subscription.
Tambahkan Notification Method dan Recipient, lalu klik Save.
Untuk melihat atau mengubah langganan, buka Quality O&M > Monitor di panel navigasi kiri, lalu pilih My Subscriptions.
Konfigurasi aturan pemantauan untuk ods_user_info_d
Tabel ods_user_info_d menyimpan informasi dasar pengguna yang disinkronkan harian dari ApsaraDB RDS for MySQL. Konfigurasikan dua aturan: aturan kuat untuk jumlah baris dan aturan lunak untuk keunikan primary key.
Langkah 1: Buat monitor
Di tab Monitor, klik Create Monitor.
Konfigurasikan monitor dengan parameter kunci berikut:
Untuk daftar lengkap parameter monitor, lihat Configure a monitoring rule for a single table.
Parameter Value Data Range dt=$[yyyymmdd-1]Trigger Method Dipicu oleh penjadwalan produksi. Pilih node ods_user_info_dyang dibuat saat sinkronisasi data.Monitoring Rule Biarkan kosong untuk saat ini.
Langkah 2: Tambahkan aturan pemantauan
Di tab Rule Management, di bawah Monitor Perspective, pilih monitor (misalnya,
user_info_quality_control). Klik Create Rule.Di tab System Template Rules, temukan Table Row Count Is Greater Than 0, klik +Use, lalu atur Degree of importance ke Strong rules.
Di tab System Template Rules, temukan Unique Value Count, Fixed Value, klik +Use, lalu konfigurasikan parameter berikut:
Parameter Value Rule Scope uid(STRING)Monitoring Threshold Normal threshold = 0Degree of importance soft ruleKlik Determine.
Jika jumlah baris adalah 0, node
ods_user_info_dakan gagal dan semua tugas downstream diblokir. Untuk detail parameter, lihat Configure rules for a single table.
Langkah 3: Jalankan pengujian dan berlangganan notifikasi
Langkah-langkah untuk menguji monitor dan berlangganan notifikasi sama seperti yang dijelaskan dalam Konfigurasi aturan pemantauan untuk ods_raw_log_d.
Konfigurasi aturan pemantauan untuk ads_user_info_1d
Tabel ads_user_info_1d merupakan tabel hasil akhir untuk analisis persona pengguna. Konfigurasikan aturan volatilitas untuk melacak fluktuasi pengunjung unik (UV) harian dan aturan kuat untuk memastikan tabel tidak kosong.
Langkah 1: Buat monitor
Di tab Monitor, klik Create Monitor.
Konfigurasikan monitor dengan parameter kunci berikut:
Untuk daftar lengkap parameter monitor, lihat Configure a monitoring rule for a single table.
Parameter Value Data Range dt=$[yyyymmdd-1]Trigger Method Dipicu oleh penjadwalan produksi. Pilih node ads_user_info_1dyang dibuat saat pemrosesan data.Monitoring Rule Biarkan kosong untuk saat ini.
Langkah 2: Tambahkan aturan pemantauan
Di tab Rule Management, pada bagian Monitor Perspective, pilih monitor (misalnya,
ads_user_info_quality_control). Klik Create Rule.Di tab System Template Rules, temukan Number Of Rows, 7-day Volatility, klik +Use, lalu konfigurasikan ambang batas: Atur Degree of importance ke soft rule. Notifikasi akan dikirim ke subscriber tetapi tidak memblokir tugas downstream.
Threshold Value Outcome Red Threshold > 50% Notifikasi dikirim — jumlah baris menyimpang lebih dari 50% dari rata-rata 7 hari Orange Threshold > 10% Notifikasi dikirim — jumlah baris menyimpang lebih dari 10% dari rata-rata 7 hari Normal Threshold ≤ 10% Tidak ada notifikasi Di tab System Template Rules, temukan Table Row Count Is Greater Than 0, klik +Use, lalu atur Degree of importance ke Strong rules.
Klik Determine. Tabel berikut merangkum cara penanganan pelanggaran untuk tabel ini:
Untuk detail parameter, lihat Configure rules for a single table.
Rule Severity Handling policy Table row count > 0 Strong rule Node penjadwalan ditandai sebagai Failed; tugas downstream diblokir 7-day row count volatility > 50% Soft rule Notifikasi dikirim ke subscriber; tugas downstream tetap berjalan 7-day row count volatility > 10% Soft rule Notifikasi dikirim ke subscriber; tugas downstream tetap berjalan
Langkah 3: Jalankan pengujian dan berlangganan notifikasi
Langkah-langkah untuk menguji monitor dan berlangganan notifikasi sama seperti yang dijelaskan dalam Konfigurasi aturan pemantauan untuk ods_raw_log_d.
Langkah selanjutnya
Dengan pemantauan kualitas yang telah diterapkan, visualisasikan data persona pengguna yang telah diproses dalam sebuah dashboard. Lihat Visualize data on a dashboard.