Menggunakan silsilah data di Dataflow

Silsilah data adalah fitur Dataflow yang memungkinkan Anda melacak bagaimana data bergerak melalui sistem: dari mana data berasal, tempat data diteruskan, dan transformasi yang diterapkan pada data.

Setiap pipeline yang Anda jalankan menggunakan Dataflow memiliki beberapa aset data terkait. Silsilah aset data mencakup asal-usulnya, apa yang terjadi padanya, dan ke mana aset tersebut berpindah dari waktu ke waktu. Dengan silsilah data, Anda dapat melacak pergerakan aset data secara menyeluruh, dari asal hingga tujuan akhir.

Saat Anda mengaktifkan silsilah data untuk tugas Dataflow, Dataflow akan menangkap peristiwa silsilah dan memublikasikannya ke Knowledge Catalog Data Lineage API.

Untuk mengakses informasi silsilah melalui Knowledge Catalog, lihat Menggunakan silsilah data dengan Google Cloud sistem.

Sebelum memulai

Siapkan project:

  1. Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Di Dataflow, Anda juga perlu mengaktifkan silsilah di tingkat tugas. Lihat Mengaktifkan silsilah data di Dataflow di dokumen ini.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna melihat grafik visualisasi silsilah, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran silsilah data, lihat Peran bawaan untuk silsilah data.

Dukungan dan batasan

Silsilah data di Dataflow memiliki batasan berikut:

  • Silsilah data didukung di Apache Beam SDK versi 2.63.0 dan yang lebih baru.
  • Anda harus mengaktifkan silsilah data per tugas.
  • Pengambilan data tidak instan. Data silsilah tugas Dataflow mungkin memerlukan waktu beberapa menit untuk muncul di Knowledge Catalog.
  • Sumber dan sink berikut didukung:

    • Apache Kafka
    • BigQuery (Tugas streaming di Python menggunakan metode lama STREAMING_INSERT, yang tidak mendukung silsilah data. Untuk menggunakan silsilah data, beralihlah ke metode STORAGE_WRITE_API yang direkomendasikan. Untuk mengetahui informasi selengkapnya, lihat Menulis dari Dataflow ke BigQuery.)
    • Bigtable
    • Cloud Storage
    • JDBC (Java Database Connectivity)
    • Pub/Sub
    • Spanner (Change Stream tidak didukung)

    Template Dataflow yang menggunakan sumber dan sink ini juga otomatis menangkap dan memublikasikan peristiwa silsilah.

Mengaktifkan silsilah data di Dataflow

Anda harus mengaktifkan silsilah di tingkat tugas. Untuk mengaktifkan silsilah data, gunakan enable_lineage opsi layanan Dataflow sebagai berikut:

Java

--dataflowServiceOptions=enable_lineage=true

Python

--dataflow_service_options=enable_lineage=true

Go

--dataflow_service_options=enable_lineage=true

gcloud

Gunakan perintah gcloud dataflow jobs run dengan opsi additional-experiments. Jika Anda menggunakan Template Fleksibel, gunakan perintah gcloud dataflow flex-template run.

--additional-experiments=enable_lineage=true

Secara opsional, Anda dapat menentukan satu atau kedua parameter berikut dengan opsi layanan:

  • process_id: ID unik yang digunakan Knowledge Catalog untuk mengelompokkan eksekusi tugas. Jika tidak ditentukan, nama tugas akan digunakan.
  • process_name: Nama yang dapat dibaca manusia untuk proses silsilah data. Jika tidak ditentukan, nama tugas yang diawali dengan "Dataflow " akan digunakan.

Tentukan opsi ini sebagai berikut:

Java

--dataflowServiceOptions=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

Python

--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

Go

--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

gcloud

--additional-experiments=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

Melihat silsilah di Knowledge Catalog

Silsilah data memberikan informasi tentang hubungan antara resource project Anda dan proses yang membuatnya. Anda dapat melihat informasi silsilah data di Google Cloud konsol dalam bentuk grafik atau tabel tunggal. Anda juga dapat mengambil informasi silsilah data dari Data Lineage API dalam bentuk data JSON.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan silsilah data dengan Google Cloud sistem.

Menonaktifkan silsilah data di Dataflow

Jika silsilah data diaktifkan untuk tugas tertentu dan Anda ingin menonaktifkannya, batalkan tugas yang ada dan jalankan versi baru tugas tanpa opsi layanan enable_lineage.

Penagihan

Penggunaan silsilah data di Dataflow tidak memengaruhi tagihan Dataflow Anda, tetapi dapat menimbulkan biaya tambahan pada tagihan Knowledge Catalog. Untuk mengetahui informasi selengkapnya, lihat Pertimbangan silsilah data dan Harga Knowledge Catalog.

Langkah berikutnya