Menggunakan kualitas data otomatis

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

  1. 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.

    Mengaktifkan API

  2. 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:

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.create di project untuk menjalankan tugas pemindaian
    • bigquery.tables.get pada tabel BigQuery yang akan dipindai
    • bigquery.tables.getData pada tabel BigQuery yang akan dipindai
  • Memublikasikan hasil pemindaian kualitas data ke Knowledge Catalog:
    • bigquery.tables.update pada tabel yang dipindai
    • dataplex.entryGroups.useDataQualityScorecardAspect pada grup entri @bigquery di lokasi yang sama dengan tabel
  • Buat DataScan: dataplex.datascans.create di project
  • Menghapus DataScan: dataplex.datascans.delete pada project
  • Melihat metadata DataScan: dataplex.datascans.get pada project
  • Melihat detail DataScan termasuk aturan dan hasil: dataplex.datascans.getData di project
  • Mencantumkan DataScan: dataplex.datascans.list pada project
  • Menjalankan DataScan: dataplex.datascans.run di project
  • Perbarui DataScan: dataplex.datascans.update di project
  • Mendapatkan atau menetapkan kebijakan IAM pada DataScan:
    • dataplex.datascans.getIamPolicy dalam project
    • dataplex.datascans.setIamPolicy dalam 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:
  • 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.get di tabel BigQuery
    • bigquery.tables.getData di tabel BigQuery
  • Mengekspor hasil pemindaian ke tabel BigQuery:
    • bigquery.datasets.get di set data dan tabel hasil
    • bigquery.tables.create di set data dan tabel hasil
    • bigquery.tables.get di set data dan tabel hasil
    • bigquery.tables.getData di set data dan tabel hasil
    • bigquery.tables.update di set data dan tabel hasil
    • bigquery.tables.updateData di set data dan tabel hasil
  • Memindai data BigQuery yang disusun di danau Knowledge Catalog:
    • dataplex.lakes.list pada resource Dataplex
    • dataplex.lakes.get pada resource Dataplex
    • dataplex.zones.list pada resource Dataplex
    • dataplex.zones.get pada resource Dataplex
    • dataplex.entities.list pada resource Dataplex
    • dataplex.entities.get pada resource Dataplex
    • dataplex.operations.get pada resource Dataplex
  • Memindai tabel eksternal BigQuery dari Cloud Storage:
    • storage.buckets.get di bucket Cloud Storage
    • storage.objects.get di 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 discount_pct lebih besar dari 30% untuk semua mata uang yang didukung saat ini.

Filter tanggal transaction_timestamp >= current_date() diterapkan sebagai filter baris pada tabel sumber data.

Parameter referensi data ${data()} berfungsi sebagai placeholder untuk my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date() dan menerapkan filter baris.

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.actAs yang 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 izin iam.serviceAccounts.getAccessToken pada akun layanan kustom (misalnya, dengan memiliki peran roles/iam.serviceAccountTokenCreator).
    • Akun layanan kustom memerlukan bigquery.tables.getData pada tabel untuk memindai, bigquery.jobs.insert di project pemindaian, dan bigquery.dataEditor pada set data ekspor (jika menggunakan ekspor).
  • Untuk menggunakan Kredensial Pengguna Akhir, Anda memerlukan:
    • bigquery.tables.getData di atas meja untuk dipindai.
    • bigquery.jobs.insert di project pemindaian.
    • bigquery.dataEditor pada 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

  1. Di konsol Google Cloud , buka halaman Knowledge Catalog Data profiling & quality.

    Buka Data profiling & quality

  2. Klik Buat pemindaian kualitas data.

  3. Di jendela Define scan, isi kolom berikut:

    1. Opsional: Masukkan Nama tampilan.

    2. Masukkan ID. Lihat konvensi penamaan resource.

    3. Opsional: Masukkan Deskripsi..

    4. 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.

    5. Di kolom Cakupan, pilih Inkremental atau Seluruh data.

      • Jika Anda memilih Inkremental: Di kolom Stempel waktu, pilih kolom berjenis DATE atau TIMESTAMP dari tabel BigQuery yang bertambah saat data baru ditambahkan, dan yang dapat digunakan untuk mengidentifikasi data baru. Kolom ini dapat berupa kolom yang mempartisi tabel.
    6. Opsional: Untuk memfilter data, centang kotak Filter baris. Berikan filter baris yang terdiri dari ekspresi SQL valid yang dapat digunakan sebagai bagian dari klausa WHERE dalam sintaksis GoogleSQL. Contoh, col1 >= 0. Filter dapat berupa kombinasi dari beberapa kondisi kolom. Misalnya, col1 >= 0 AND col2 < 10.

    7. 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.

    8. 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.

    9. Untuk Credential type, lihat Mengonfigurasi identitas eksekusi.

    10. Untuk membuat pemindaian kualitas data menggunakan aturan, pilih Jenis aturan > Buat dengan aturan berbasis entri.

    11. 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.
    12. Klik Lanjutkan.

  4. Di jendela Aturan kualitas data, tentukan aturan yang akan dikonfigurasi untuk pemindaian kualitas data ini.

    1. Klik Tambahkan aturan, lalu pilih dari opsi berikut.

      • Rekomendasi berbasis profil: Buat aturan dari rekomendasi berdasarkan pemindaian pembuatan profil data yang ada.

        1. Pilih kolom: Pilih kolom untuk mendapatkan rekomendasi aturan.

        2. 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.

        3. 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.

        4. 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.

        1. Pilih kolom: Pilih kolom untuk memilih aturan.

        2. Pilih jenis aturan: Pilih jenis aturan yang ingin Anda pilih, lalu klik Oke. Jenis aturan yang muncul bergantung pada kolom yang Anda pilih.

        3. 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.

        1. Di Dimensi, pilih satu dimensi.

        2. Di Nilai minimum lulus, pilih persentase catatan yang harus lulus pemeriksaan.

        3. Di Nama kolom, pilih kolom.

        4. Di kolom Berikan ekspresi SQL, masukkan ekspresi SQL yang dievaluasi ke true (lulus) atau false (gagal) boolean. Untuk mengetahui informasi selengkapnya, lihat Jenis aturan SQL kustom yang didukung dan contoh dalam Menentukan aturan kualitas data.

        5. Klik Tambahkan.

      • Aturan pemeriksaan agregat SQL: Buat aturan kondisi tabel SQL kustom.

        1. Di Dimensi, pilih satu dimensi.

        2. Di Nama kolom, pilih kolom.

        3. Di kolom Berikan ekspresi SQL, masukkan ekspresi SQL yang dievaluasi ke true (lulus) atau false (gagal) boolean. Untuk mengetahui informasi selengkapnya, lihat Jenis aturan SQL kustom yang didukung dan contoh dalam Menentukan aturan kualitas data.

        4. Klik Tambahkan.

      • Aturan pernyataan SQL: Buat aturan pernyataan SQL kustom untuk memeriksa status data yang tidak valid.

        1. Di Dimensi, pilih satu dimensi.

        2. Opsional: Di Nama kolom, pilih kolom.

        3. 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.

        4. Klik Tambahkan.

    2. 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.
    3. Ulangi langkah-langkah sebelumnya untuk menambahkan aturan tambahan ke pemindaian kualitas data. Setelah selesai, klik Lanjutkan.

  5. Opsional: Ekspor hasil pemindaian ke tabel standar BigQuery. Di bagian Ekspor hasil pemindaian ke tabel BigQuery, lakukan hal berikut:

    1. Di kolom Select BigQuery dataset, klik Browse. Pilih set data BigQuery untuk menyimpan hasil pemindaian kualitas data.

    2. 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.

  6. Opsional: Tambahkan label. Label adalah key-value pair yang memungkinkan Anda mengelompokkan objek terkait secara bersamaan atau dengan resource Google Cloud lainnya.

  7. 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.
  8. 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 awalan gs://. 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.

using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for CreateDataScan</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        CreateDataScanRequest request = new CreateDataScanRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            DataScan = new DataScan(),
            DataScanId = "",
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataScan, OperationMetadata> response = dataScanServiceClient.CreateDataScan(request);

        // Poll until the returned long-running operation is complete
        Operation<DataScan, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataScan result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataScan, OperationMetadata> retrievedResponse = dataScanServiceClient.PollOnceCreateDataScan(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataScan retrievedResult = retrievedResponse.Result;
        }
    }
}

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.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateDataScanRequest.
	}
	op, err := c.CreateDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

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.

import com.google.cloud.dataplex.v1.CreateDataScanRequest;
import