Dokumen ini menjelaskan cara menggunakan pemindaian kualitas data Knowledge Catalog (sebelumnya Dataplex Universal Catalog) untuk mengukur, memantau, dan mengelola kualitas data Anda. Pemindaian kualitas data membantu Anda mengotomatiskan proses validasi data untuk kelengkapan, validitas, dan konsistensi.
Dengan pemindaian kualitas data, Anda dapat menentukan aturan untuk memeriksa nilai yang hilang, memastikan nilai cocok dengan ekspresi reguler atau termasuk dalam satu set, memverifikasi keunikan, atau menggunakan SQL kustom untuk validasi yang lebih kompleks seperti deteksi anomali. Dokumen ini menjelaskan cara membuat dan mengelola pemindaian kualitas data.
Pelajari lebih lanjut pemindaian kualitas data. Pelajari lebih lanjut cara menggunakan kembali aturan kualitas data di beberapa pemindaian.
Sebelum memulai
-
Mengaktifkan Dataplex API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran. - Opsional: Untuk membuat rekomendasi aturan kualitas data berdasarkan hasil pemindaian profil data, buat dan jalankan pemindaian profil data.
Peran dan izin yang diperlukan
Bagian ini menjelaskan peran dan izin IAM yang diperlukan untuk menggunakan pemindaian kualitas data Knowledge Catalog.
Peran dan izin pengguna
Untuk mendapatkan izin yang Anda perlukan untuk menjalankan dan mengelola pemindaian kualitas data, minta administrator untuk memberi Anda peran IAM berikut:
-
Menjalankan pemindaian kualitas data pada tabel BigQuery:
- BigQuery Job User (
roles/bigquery.jobUser) di project untuk menjalankan tugas pemindaian - BigQuery Data Viewer (
roles/bigquery.dataViewer) pada tabel BigQuery yang akan dipindai
- BigQuery Job User (
-
Memublikasikan hasil pemindaian kualitas data ke Knowledge Catalog:
- BigQuery Data Editor (
roles/bigquery.dataEditor) pada tabel yang dipindai - Dataplex Catalog Editor (
roles/dataplex.catalogEditor) di grup entri@bigquerydi lokasi yang sama dengan tabel
- BigQuery Data Editor (
-
Lakukan tugas tertentu pada resource
DataScan:- Administrator Dataplex DataScan (
roles/dataplex.dataScanAdmin) di project untuk akses penuh - Pembuat Dataplex DataScan (
roles/dataplex.dataScanCreator) di project untuk membuat pemindaian - Dataplex DataScan Editor (
roles/dataplex.dataScanEditor) di project untuk akses tulis - Pelihat Dataplex DataScan (
roles/dataplex.dataScanViewer) di project untuk membaca metadata pemindaian - Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer) di project untuk membaca data pemindaian, termasuk aturan dan hasil
- Administrator Dataplex DataScan (
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menjalankan dan mengelola pemindaian kualitas data. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menjalankan dan mengelola pemindaian kualitas data:
-
Menjalankan pemindaian kualitas data pada tabel BigQuery:
-
bigquery.jobs.createdi project untuk menjalankan tugas pemindaian -
bigquery.tables.getpada tabel BigQuery yang akan dipindai -
bigquery.tables.getDatapada tabel BigQuery yang akan dipindai
-
-
Memublikasikan hasil pemindaian kualitas data ke Knowledge Catalog:
-
bigquery.tables.updatepada tabel yang dipindai -
dataplex.entryGroups.useDataQualityScorecardAspectpada grup entri@bigquerydi lokasi yang sama dengan tabel
-
-
Buat
DataScan:dataplex.datascans.createdi project -
Menghapus
DataScan:dataplex.datascans.deletepada project -
Melihat metadata
DataScan:dataplex.datascans.getpada project -
Melihat detail
DataScantermasuk aturan dan hasil:dataplex.datascans.getDatadi project -
Mencantumkan
DataScan:dataplex.datascans.listpada project -
Menjalankan
DataScan:dataplex.datascans.rundi project -
Perbarui
DataScan:dataplex.datascans.updatedi project -
Mendapatkan atau menetapkan kebijakan IAM pada
DataScan:-
dataplex.datascans.getIamPolicydalam project -
dataplex.datascans.setIamPolicydalam project
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Jika Anda perlu mengakses kolom yang dilindungi oleh kebijakan akses tingkat kolom BigQuery, Anda juga memerlukan izin untuk kolom tersebut.
Peran dan izin akun layanan Knowledge Catalog
Jika Anda belum membuat pemindaian kualitas data atau profil data, atau Anda tidak memiliki data lake Knowledge Catalog di project ini, buat ID layanan dengan menjalankan:
gcloud beta services identity create --service=dataplex.googleapis.com.
Perintah ini akan menampilkan ID layanan Knowledge Catalog jika ada.
Untuk memastikan bahwa akun layanan Knowledge Catalog dari project yang berisi pemindaian kualitas data memiliki izin yang diperlukan untuk membaca data dari berbagai sumber dan mengekspor hasil, minta administrator Anda untuk memberikan peran IAM berikut kepada akun layanan Knowledge Catalog dari project yang berisi pemindaian kualitas data:
-
Membaca data tabel BigQuery:
BigQuery Data Viewer (
roles/bigquery.dataViewer) pada tabel BigQuery yang akan dipindai dan tabel lain yang dirujuk dalam aturan -
Membaca data tabel Katalog REST Iceberg:
Pelihat BigLake (
roles/biglake.viewer) pada tabel Katalog REST Iceberg yang akan dipindai dan tabel lain yang dirujuk dalam aturan -
Mengekspor hasil pemindaian ke tabel BigQuery:
BigQuery Data Editor (
roles/bigquery.dataEditor) di set data dan tabel hasil -
Memindai data BigQuery yang disusun di danau Knowledge Catalog:
- Dataplex Metadata Reader (
roles/dataplex.metadataReader) pada resource Dataplex - Dataplex Viewer (
roles/dataplex.viewer) pada resource Dataplex
- Dataplex Metadata Reader (
-
Memindai tabel eksternal BigQuery dari Cloud Storage:
Storage Object Viewer (
roles/storage.objectViewer) di bucket Cloud Storage
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membaca data dari berbagai sumber dan mengekspor hasil. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membaca data dari berbagai sumber dan mengekspor hasil:
-
Membaca data tabel BigQuery:
-
bigquery.tables.getdi tabel BigQuery -
bigquery.tables.getDatadi tabel BigQuery
-
-
Mengekspor hasil pemindaian ke tabel BigQuery:
-
bigquery.datasets.getdi set data dan tabel hasil -
bigquery.tables.createdi set data dan tabel hasil -
bigquery.tables.getdi set data dan tabel hasil -
bigquery.tables.getDatadi set data dan tabel hasil -
bigquery.tables.updatedi set data dan tabel hasil -
bigquery.tables.updateDatadi set data dan tabel hasil
-
-
Memindai data BigQuery yang disusun di danau Knowledge Catalog:
-
dataplex.lakes.listpada resource Dataplex -
dataplex.lakes.getpada resource Dataplex -
dataplex.zones.listpada resource Dataplex -
dataplex.zones.getpada resource Dataplex -
dataplex.entities.listpada resource Dataplex -
dataplex.entities.getpada resource Dataplex -
dataplex.operations.getpada resource Dataplex
-
-
Memindai tabel eksternal BigQuery dari Cloud Storage:
-
storage.buckets.getdi bucket Cloud Storage -
storage.objects.getdi bucket Cloud Storage
-
Administrator Anda mungkin juga dapat memberikan izin ini kepada akun layanan Knowledge Catalog dari project yang berisi pemindaian kualitas data dengan peran khusus atau peran bawaan lainnya.
Jika Anda perlu mengakses kolom yang dilindungi oleh kebijakan akses tingkat kolom BigQuery, tetapkan izin akun layanan Knowledge Catalog untuk kolom tersebut.
Jika kebijakan akses tingkat baris BigQuery diaktifkan untuk tabel, Anda hanya dapat memindai baris yang terlihat oleh akun layanan Knowledge Catalog. Perhatikan bahwa hak akses pengguna perorangan tidak dievaluasi untuk kebijakan tingkat baris.
Persyaratan jaringan
Untuk menjalankan pemindaian, Anda harus mengaktifkan Akses Google Pribadi di subnet VPC yang Anda gunakan untuk pemindaian. Jika Anda tidak menentukan subnet, pastikan subnet default Anda telah mengaktifkan Akses Google Pribadi.
Menentukan aturan kualitas data
Anda dapat menentukan aturan kualitas data menggunakan hal berikut:
Jika menggunakan Google Cloud CLI, Anda dapat menentukan aturan ini dalam file JSON atau YAML.
Contoh di bagian berikut menunjukkan cara menentukan berbagai aturan kualitas data. Aturan ini memvalidasi tabel contoh yang berisi data tentang transaksi pelanggan. Asumsikan tabel memiliki skema berikut:
| Nama kolom | Jenis kolom | Deskripsi kolom |
|---|---|---|
| transaction_timestamp | Stempel waktu | Stempel waktu transaksi. Tabel dipartisi pada kolom ini. |
| customer_id | String | ID pelanggan dalam format 8 huruf yang diikuti dengan 16 digit. |
| transaction_id | String | ID transaksi harus unik di seluruh tabel. |
| currency_id | String | Salah satu mata uang yang didukung. Jenis mata uang harus cocok dengan salah satu mata uang yang tersedia dalam tabel dimensi dim_currency.
|
| amount | float | Jumlah transaksi. |
| discount_pct | float | Persentase diskon. Nilai ini harus antara 0 dan 100. |
Menentukan aturan kualitas data menggunakan jenis aturan bawaan
Contoh berikut didasarkan pada jenis aturan bawaan. Anda dapat membuat aturan berdasarkan jenis aturan bawaan menggunakan konsol Google Cloud atau API. Knowledge Catalog mungkin merekomendasikan beberapa aturan ini.
| Nama kolom | Jenis Aturan | Dimensi yang disarankan | Parameter aturan |
|---|---|---|---|
transaction_id |
Pemeriksaan keunikan | Keunikan | Batas: Not Applicable |
amount |
Pemeriksaan null | Kelengkapan | Batas: 100% |
customer_id |
Pemeriksaan Regex (ekspresi reguler) | Validitas | Regular expression: ^[a-zA-Z]{8}[0-9]{16}$ Nilai minimum: 100%
|
currency_id |
Pemeriksaan set nilai | Validitas | Setel untuk: USD,JPY,INR,GBP,CAN Nilai minimum: 100%
|
Menentukan aturan kualitas data menggunakan aturan SQL kustom
Untuk membuat aturan SQL kustom, gunakan framework berikut:
Saat Anda membuat aturan yang mengevaluasi satu baris dalam satu waktu, buat ekspresi yang menghasilkan jumlah baris yang berhasil saat Knowledge Catalog mengevaluasi kueri
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE. Knowledge Catalog memeriksa jumlah baris yang berhasil terhadap nilai minimum.Saat Anda membuat aturan yang mengevaluasi di seluruh baris atau menggunakan kondisi tabel, buat ekspresi yang menampilkan keberhasilan atau kegagalan saat Knowledge Catalog mengevaluasi kueri
SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE.Saat Anda membuat aturan yang mengevaluasi status set data yang tidak valid, berikan pernyataan yang menampilkan baris yang tidak valid. Jika ada baris yang ditampilkan, aturan akan gagal. Hapus titik koma di akhir pernyataan SQL.
Anda dapat merujuk ke tabel sumber data dan semua filter prasyaratnya dengan menggunakan parameter referensi data
${data()}dalam aturan, bukan dengan menyebutkan tabel sumber dan filternya secara eksplisit. Contoh filter prasyarat mencakup filter baris, persentase pengambilan sampel, dan filter inkremental. Parameter${data()}peka huruf besar/kecil.
Contoh berikut didasarkan pada aturan SQL kustom.
| Jenis aturan | Deskripsi aturan | Ekspresi SQL |
|---|---|---|
| Kondisi baris | Memeriksa apakah nilai discount_pct
berada di antara 0 dan 100.
|
0 <discount_pct AND discount_pct < 100
|
| Kondisi baris | Pemeriksaan referensi untuk memvalidasi bahwa currency_id adalah salah satu mata uang yang didukung.
|
currency_id in (select id from my_project_id.dim_dataset.dim_currency)
|
| Kondisi tabel | Ekspresi SQL gabungan yang memeriksa apakah rata-rata discount_pct berada di antara 30% dan 50%.
|
30<avg(discount) AND avg(discount) <50
|
| Kondisi baris | Memeriksa apakah tanggal tidak berada di masa mendatang. | TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
|
| Kondisi tabel |
Fungsi yang ditentukan pengguna (UDF) BigQuery
untuk memeriksa apakah jumlah transaksi rata-rata kurang dari nilai
yang telah ditentukan sebelumnya per negara. Buat UDF (Javascript) dengan menjalankan perintah
berikut:
CREATE OR REPLACE FUNCTION
myProject.myDataset.average_by_country (
country STRING, average FLOAT64)
RETURNS BOOL LANGUAGE js AS R"""
if (country = "CAN" && average < 5000){
return 1
} else if (country = "IND" && average < 1000){
return 1
} else { return 0 }
""";
|
Contoh aturan untuk memeriksa jumlah transaksi rata-rata untuk country=CAN.
myProject.myDataset.average_by_country(
"CAN",
(SELECT avg(amount) FROM
myProject.myDataset.transactions_table
WHERE currency_id = 'CAN'
))
|
| Kondisi tabel | Klausul prediksi BigQuery ML
untuk mengidentifikasi anomali dalam discount_pct. Memeriksa
apakah diskon harus diterapkan berdasarkan customer,
currency, dan transaction. Aturan ini memeriksa apakah
prediksi cocok dengan nilai sebenarnya, setidaknya 99% dari waktu. Asumsi: Model
ML dibuat sebelum menggunakan aturan. Buat model ML menggunakan
perintah berikut:
CREATE MODEL
model-project-id.dataset-id.model-name
OPTIONS(model_type='logistic_reg') AS
SELECT
IF(discount_pct IS NULL, 0, 1) AS label,
IFNULL(customer_id, "") AS customer,
IFNULL(currency_id, "") AS currency,
IFNULL(amount, 0.0) AS amount
FROM
`data-project-id.dataset-id.table-names`
WHERE transaction_timestamp < '2022-01-01';
|
Aturan berikut memeriksa apakah akurasi prediksi lebih besar dari 99%.
SELECT
accuracy > 0.99
FROM
ML.EVALUATE
(MODEL model-project-id.dataset-id.model-name,
(
SELECT
customer_id,
currency_id,
amount,
discount_pct
FROM
data-project-id.dataset-id.table-names
WHERE transaction_timestamp > '2022-01-01';
)
)
|
| Kondisi baris | Fungsi prediksi BigQuery ML
untuk mengidentifikasi anomali dalam discount_pct. Fungsi
memeriksa apakah diskon harus diterapkan berdasarkan customer,
currency, dan transaction.
Aturan ini mengidentifikasi semua kejadian saat prediksi tidak cocok.
Asumsi: Model ML dibuat sebelum menggunakan aturan. Buat model ML
menggunakan perintah berikut:
CREATE MODEL
model-project-id.dataset-id.model-name
OPTIONS(model_type='logistic_reg') AS
SELECT
IF(discount_pct IS NULL, 0, 1) AS label,
IFNULL(customer_id, "") AS customer,
IFNULL(currency_id, "") AS currency,
IFNULL(amount, 0.0) AS amount
FROM
`data-project-id.dataset-id.table-names`
WHERE transaction_timestamp < '2022-01-01';
|
Aturan berikut memeriksa apakah prediksi diskon cocok dengan
nilai sebenarnya untuk setiap baris.
IF(discount_pct > 0, 1, 0)
=(SELECT predicted_label FROM
ML.PREDICT(
MODEL model-project-id.dataset-id.model-name,
(
SELECT
customer_id,
currency_id,
amount,
discount_pct
FROM
data-project-id.dataset-id.table-names AS t
WHERE t.transaction_timestamp =
transaction_timestamp
LIMIT 1
)
)
)
|
| Pernyataan SQL | Memvalidasi apakah discount_pct lebih besar dari 30% untuk hari ini
dengan memeriksa apakah ada baris dengan persentase diskon kurang dari atau
sama dengan 30. |
SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date() |
| Pernyataan SQL (dengan parameter referensi data) | Memeriksa apakah Filter tanggal Parameter referensi data |
SELECT * FROM ${data()} WHERE discount_pct > 30 |
Menentukan aturan kualitas data menggunakan gcloud CLI
File YAML contoh berikut menggunakan beberapa aturan yang sama dengan
contoh aturan menggunakan jenis bawaan dan
contoh aturan SQL kustom. File YAML ini juga berisi spesifikasi lain untuk pemindaian kualitas data, seperti filter dan persentase pengambilan sampel. Saat menggunakan gcloud CLI untuk membuat atau mengupdate pemindaian
kualitas data, Anda dapat menggunakan file YAML seperti ini sebagai input ke argumen
--data-quality-spec-file.
rules:
- uniquenessExpectation: {}
column: transaction_id
dimension: UNIQUENESS
- nonNullExpectation: {}
column: amount
dimension: COMPLETENESS
threshold: 1
- regexExpectation:
regex: '^[a-zA-Z]{8}[0-9]{16}$'
column : customer_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- setExpectation :
values :
- 'USD'
- 'JPY'
- 'INR'
- 'GBP'
- 'CAN'
column : currency_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rangeExpectation:
minValue : '0'
maxValue : '100'
column : discount_pct
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rowConditionExpectation:
sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
column: discount_pct
dimension: VALIDITY
threshold: 1
- rowConditionExpectation:
sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
column: currency_id
dimension: VALIDITY
threshold: 1
- tableConditionExpectation:
sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
dimension: VALIDITY
- rowConditionExpectation:
sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
column: transaction_timestamp
dimension: VALIDITY
threshold: 1
- sqlAssertion:
sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
dimension: VALIDITY
debugQueries:
- sqlStatement: SELECT MAX(discount_pct) FROM `my_project_id.dim_dataset.dim_currency`
samplingPercent: 50
rowFilter: discount_pct > 100
postScanActions:
bigqueryExport:
resultsTable: projects/my_project_id/datasets/dim_dataset/tables/dim_currency
notificationReport:
recipients:
emails:
- '222larabrown@gmail.com'
- 'cloudysanfrancisco@gmail.com'
scoreThresholdTrigger:
scoreThreshold: 50
jobFailureTrigger: {}
jobEndTrigger: {}
catalogPublishingEnabled: true
Mengonfigurasi identitas eksekusi
Secara default, pemindaian kualitas data dijalankan menggunakan akun layanan Knowledge Catalog. Anda dapat mengganti setelan ini untuk menggunakan akun layanan kustom atau Kredensial Pengguna Akhir (EUC) Anda sendiri.
Menggunakan identitas eksekusi kustom akan mengubah cara penagihan pemindaian. Saat Anda menentukan identitas eksekusi kustom, biaya komputasi dan penyimpanan yang terkait dengan pemindaian akan ditagih langsung ke project BigQuery Anda, tanpa melalui SKU Premium Knowledge Catalog standar.
Izin yang diperlukan untuk identitas eksekusi kustom
Untuk mengonfigurasi akun layanan kustom atau menggunakan kredensial pengguna akhir, Anda harus memiliki izin Identity and Access Management (IAM) tambahan berikut:
- Untuk menggunakan akun layanan kustom, Anda memerlukan:
- Izin
iam.serviceAccounts.actAsyang diberikan untuk project yang berisi akun layanan (misalnya,roles/iam.serviceAccountUser). - Agen Layanan project Anda (
service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) memerlukan iziniam.serviceAccounts.getAccessTokenpada akun layanan kustom (misalnya, dengan memiliki peranroles/iam.serviceAccountTokenCreator). - Akun layanan kustom memerlukan
bigquery.tables.getDatapada tabel untuk memindai,bigquery.jobs.insertdi project pemindaian, danbigquery.dataEditorpada set data ekspor (jika menggunakan ekspor).
- Izin
- Untuk menggunakan Kredensial Pengguna Akhir, Anda memerlukan:
bigquery.tables.getDatadi atas meja untuk dipindai.bigquery.jobs.insertdi project pemindaian.bigquery.dataEditorpada set data ekspor (jika menggunakan ekspor).
Untuk mengonfigurasi identitas eksekusi, pilih salah satu opsi berikut:
Konsol
Untuk mengonfigurasi identitas eksekusi di konsol Google Cloud , pilih identitas saat Anda membuat pemindaian kualitas data.
Di bagian Execution Identity, pilih salah satu opsi berikut:
- Agen Layanan Dataplex: Perilaku default.
- Service Account: Masukkan alamat email akun layanan yang ingin Anda gunakan.
- Kredensial Pengguna: Gunakan kredensial Anda sendiri untuk menjalankan pemindaian.
REST
Untuk menggunakan akun layanan kustom, tambahkan objek executionIdentity
ke definisi resource DataScan selama permintaan
create:
"executionIdentity": { "serviceAccount": { "email": "YOUR_SERVICE_ACCOUNT_EMAIL" } }
Ganti kode berikut:
YOUR_SERVICE_ACCOUNT_EMAIL: alamat email akun layanan yang ingin Anda gunakan.
Untuk menggunakan kredensial pengguna akhir, tentukan objek userCredential
sebagai gantinya:
"executionIdentity": { "userCredential": {} }
Membuat pemindaian kualitas data
Konsol
Di konsol Google Cloud , buka halaman Knowledge Catalog Data profiling & quality.
Klik Buat pemindaian kualitas data.
Di jendela Define scan, isi kolom berikut:
Opsional: Masukkan Nama tampilan.
Masukkan ID. Lihat konvensi penamaan resource.
Opsional: Masukkan Deskripsi..
Di kolom Table, klik Browse. Pilih tabel yang akan dipindai, lalu klik Pilih. Hanya tabel BigQuery standar dan Iceberg REST Catalog yang didukung.
Untuk tabel dalam set data multi-region, pilih region tempat pemindaian data akan dibuat.
Untuk menjelajahi tabel yang disusun dalam data lake Knowledge Catalog, klik Jelajahi dalam Data Lake Knowledge Catalog.
Di kolom Cakupan, pilih Inkremental atau Seluruh data.
- Jika Anda memilih Inkremental: Di kolom Stempel waktu, pilih kolom berjenis
DATEatauTIMESTAMPdari tabel BigQuery yang bertambah saat data baru ditambahkan, dan yang dapat digunakan untuk mengidentifikasi data baru. Kolom ini dapat berupa kolom yang mempartisi tabel.
- Jika Anda memilih Inkremental: Di kolom Stempel waktu, pilih kolom berjenis
Opsional: Untuk memfilter data, centang kotak Filter baris. Berikan filter baris yang terdiri dari ekspresi SQL valid yang dapat digunakan sebagai bagian dari klausa
WHEREdalam sintaksis GoogleSQL. Contoh,col1 >= 0. Filter dapat berupa kombinasi dari beberapa kondisi kolom. Misalnya,col1 >= 0 AND col2 < 10.Untuk mengambil sampel data, di daftar Ukuran sampling, pilih persentase pengambilan sampel. Pilih nilai persentase yang berkisar antara 0,0% dan 100,0% dengan maksimal 3 digit desimal. Untuk set data yang lebih besar, pilih persentase pengambilan sampel yang lebih rendah. Misalnya, untuk tabel 1 PB, jika Anda memasukkan nilai antara 0,1% dan 1,0%, pemindaian kualitas data akan mengambil sampel data antara 1-10 TB. Untuk pemindaian data inkremental, pemindaian kualitas data menerapkan pengambilan sampel pada penambahan terbaru.
Opsional: Untuk memublikasikan hasil pemindaian kualitas data sebagai metadata Knowledge Catalog, centang kotak Publikasikan hasil ke Knowledge Catalog.
Anda dapat melihat hasil pemindaian terbaru di tab Kualitas data di halaman BigQuery dan Knowledge Catalog untuk tabel sumber. Untuk mengizinkan pengguna mengakses hasil pemindaian yang dipublikasikan, lihat bagian Memberi akses ke hasil pemindaian kualitas data dalam dokumen ini.
Untuk Credential type, lihat Mengonfigurasi identitas eksekusi.
Untuk membuat pemindaian kualitas data menggunakan aturan, pilih Jenis aturan > Buat dengan aturan berbasis entri.
Di bagian Jadwal, pilih salah satu opsi berikut:
Ulangi: Jalankan pemindaian kualitas data sesuai jadwal: per jam, harian, mingguan, bulanan, atau kustom. Tentukan seberapa sering pemindaian berjalan dan pada pukul berapa. Jika Anda memilih kustom, gunakan format cron untuk menentukan jadwal.
Sesuai permintaan: Jalankan pemindaian kualitas data sesuai permintaan.
Jalankan satu kali: Jalankan pemindaian kualitas data satu kali sekarang, dan hapus pemindaian setelah waktu penghapusan otomatis. Fitur ini berada dalam pratinjau.
- Menyetel penghapusan otomatis hasil pindaian: Waktu penghapusan otomatis adalah rentang waktu antara saat pemindaian dijalankan dan saat pemindaian dihapus. Pemindaian kualitas data tanpa waktu penghapusan otomatis yang ditentukan akan otomatis dihapus 24 jam setelah eksekusinya. Waktu penghapusan otomatis dapat berkisar dari 0 detik (penghapusan langsung) hingga 365 hari.
Klik Lanjutkan.
Di jendela Aturan kualitas data, tentukan aturan yang akan dikonfigurasi untuk pemindaian kualitas data ini.
Klik Tambahkan aturan, lalu pilih dari opsi berikut.
Rekomendasi berbasis profil: Buat aturan dari rekomendasi berdasarkan pemindaian pembuatan profil data yang ada.
Pilih kolom: Pilih kolom untuk mendapatkan rekomendasi aturan.
Pilih project pemindaian: Jika pemindaian pembuatan profil data berada di project yang berbeda dengan project tempat Anda membuat pemindaian kualitas data, pilih project untuk menarik pemindaian profil dari project tersebut.
Pilih hasil profil: Pilih satu atau beberapa hasil profil, lalu klik OKE. Tindakan ini akan mengisi daftar aturan yang disarankan yang dapat Anda gunakan sebagai titik awal.
Centang kotak untuk aturan yang ingin Anda tambahkan, lalu klik Pilih. Setelah dipilih, aturan akan ditambahkan ke daftar aturan saat ini. Kemudian, Anda dapat mengedit aturan.
Jenis aturan bawaan: Buat aturan dari aturan standar. Lihat daftar aturan standar.
Pilih kolom: Pilih kolom untuk memilih aturan.
Pilih jenis aturan: Pilih jenis aturan yang ingin Anda pilih, lalu klik Oke. Jenis aturan yang muncul bergantung pada kolom yang Anda pilih.
Centang kotak untuk aturan yang ingin Anda tambahkan, lalu klik Pilih. Setelah dipilih, aturan akan ditambahkan ke daftar aturan saat ini. Kemudian, Anda dapat mengedit aturan.
Aturan pemeriksaan baris SQL: Buat aturan SQL kustom untuk diterapkan ke setiap baris.
Di Dimensi, pilih satu dimensi.
Di Nilai minimum lulus, pilih persentase catatan yang harus lulus pemeriksaan.
Di Nama kolom, pilih kolom.
Di kolom Berikan ekspresi SQL, masukkan ekspresi SQL yang dievaluasi ke
true(lulus) ataufalse(gagal) boolean. Untuk mengetahui informasi selengkapnya, lihat Jenis aturan SQL kustom yang didukung dan contoh dalam Menentukan aturan kualitas data.Klik Tambahkan.
Aturan pemeriksaan agregat SQL: Buat aturan kondisi tabel SQL kustom.
Di Dimensi, pilih satu dimensi.
Di Nama kolom, pilih kolom.
Di kolom Berikan ekspresi SQL, masukkan ekspresi SQL yang dievaluasi ke
true(lulus) ataufalse(gagal) boolean. Untuk mengetahui informasi selengkapnya, lihat Jenis aturan SQL kustom yang didukung dan contoh dalam Menentukan aturan kualitas data.Klik Tambahkan.
Aturan pernyataan SQL: Buat aturan pernyataan SQL kustom untuk memeriksa status data yang tidak valid.
Di Dimensi, pilih satu dimensi.
Opsional: Di Nama kolom, pilih kolom.
Di kolom Berikan pernyataan SQL, masukkan pernyataan SQL yang menampilkan baris yang cocok dengan status tidak valid. Jika ada baris yang ditampilkan, aturan ini akan gagal. Abaikan titik koma di akhir pernyataan SQL. Untuk mengetahui informasi selengkapnya, lihat Jenis aturan SQL kustom yang didukung dan contoh dalam Menentukan aturan kualitas data.
Klik Tambahkan.
Opsional: Untuk setiap aturan kualitas data, Anda dapat menetapkan nama aturan kustom yang akan digunakan untuk pemantauan dan pemberitahuan, serta deskripsi. Untuk melakukannya, edit aturan dan tentukan detail berikut:
- Nama aturan: Masukkan nama aturan kustom hingga 63 karakter. Nama aturan dapat menyertakan huruf (a-z, A-Z), angka (0-9), dan tanda hubung (-), serta harus diawali dengan huruf dan diakhiri dengan angka atau huruf.
- Deskripsi: Masukkan deskripsi aturan dengan panjang maksimum 1.024 karakter.
Ulangi langkah-langkah sebelumnya untuk menambahkan aturan tambahan ke pemindaian kualitas data. Setelah selesai, klik Lanjutkan.
Opsional: Ekspor hasil pemindaian ke tabel standar BigQuery. Di bagian Ekspor hasil pemindaian ke tabel BigQuery, lakukan hal berikut:
Di kolom Select BigQuery dataset, klik Browse. Pilih set data BigQuery untuk menyimpan hasil pemindaian kualitas data.
Di kolom Tabel BigQuery, tentukan tabel untuk menyimpan hasil pemindaian kualitas data. Jika Anda menggunakan tabel yang sudah ada, pastikan tabel tersebut kompatibel dengan skema tabel ekspor. Jika tabel yang ditentukan tidak ada, Knowledge Catalog akan membuatnya untuk Anda.
Opsional: Tambahkan label. Label adalah key-value pair yang memungkinkan Anda mengelompokkan objek terkait secara bersamaan atau dengan resource Google Cloud lainnya.
Opsional: Siapkan laporan notifikasi email untuk memberi tahu orang lain tentang status dan hasil tugas pemindaian kualitas data. Di bagian Laporan notifikasi, klik Tambahkan ID email dan masukkan hingga lima alamat email. Kemudian, pilih skenario yang ingin Anda kirimkan laporannya:
- Skor kualitas (<=): mengirim laporan saat tugas berhasil dengan skor kualitas data yang lebih rendah dari target skor yang ditentukan. Masukkan skor kualitas target antara 0 dan 100.
- Kegagalan tugas: mengirim laporan saat tugas itu sendiri gagal, terlepas dari hasil kualitas data.
- Penyelesaian tugas (berhasil atau gagal): mengirim laporan saat tugas berakhir, terlepas dari hasil kualitas data.
Klik Create.
Setelah pemindaian dibuat, Anda dapat menjalankannya kapan saja dengan mengklik Jalankan sekarang.
gcloud
Untuk membuat pemindaian kualitas data, gunakan
perintah gcloud dataplex datascans create data-quality.
Jika data sumber disusun dalam data lake Knowledge Catalog, sertakan tanda
--data-source-entity:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
Jika data sumber tidak diatur di data lake Knowledge Catalog, sertakan
flag --data-source-resource:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
Ganti variabel berikut:
DATASCAN: Nama pemindaian kualitas data.LOCATION: Google Cloud region tempat pemindaian kualitas data akan dibuat.DATA_QUALITY_SPEC_FILE: Jalur ke file JSON atau YAML yang berisi spesifikasi untuk pemindaian kualitas data. File dapat berupa file lokal atau jalur Cloud Storage dengan awalangs://. Gunakan file ini untuk menentukan aturan kualitas data untuk pemindaian. Anda juga dapat menentukan detail tambahan dalam file ini, seperti filter, persentase pengambilan sampel, dan tindakan pasca-pemindaian seperti mengekspor ke BigQuery atau mengirim laporan notifikasi email. Lihat dokumentasi untuk representasi JSON dan contoh representasi YAML.DATA_SOURCE_ENTITY: Entitas Knowledge Catalog yang berisi data untuk pemindaian kualitas data. Contoh,projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity.DATA_SOURCE_RESOURCE: Nama resource yang berisi data untuk pemindaian kualitas data. Contoh,//bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table.
C#
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.
Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Go API.
Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Java API.
Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.