Mengaktifkan integrasi silsilah data

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Tentang integrasi silsilah data

silsilah data adalah fitur Dataplex yang memungkinkan Anda melacak bagaimana data berpindah melalui sistem Anda: asal data tersebut, tempat data diteruskan, dan transformasi apa yang diterapkan pada data tersebut. Silsilah data tersedia untuk:

Setelah fitur ini diaktifkan di lingkungan Cloud Composer, menjalankan DAG yang menggunakan salah satu operator yang didukung akan membuat Cloud Composer melaporkan informasi silsilah ke Data Lineage API.

Anda kemudian dapat mengakses informasi tersebut menggunakan:

Operator yang didukung

Operator berikut mendukung pelaporan silsilah otomatis di Cloud Composer:

  • airflow.providers.google.cloud.operators.bigquery.BigQueryExecuteQueryOperator
  • airflow.providers.google.cloud.operators.bigquery.BigQueryInsertJobOperator
  • airflow.providers.google.cloud.transfers.bigquery_to_bigquery.BigQueryToBigQueryOperator
  • airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator
  • airflow.providers.google.cloud.transfers.bigquery_to_gcs.BigQueryToGCSOperator
  • airflow.providers.google.cloud.transfers.gcs_to_bigquery.GCSToBigQueryOperator
  • airflow.contrib.operators.gcs_to_bq.GoogleCloudStorageToBigQueryOperator
  • airflow.providers.google.cloud.operators.dataproc.DataprocSubmitJobOperator

Misalnya, menjalankan tugas berikut:

task = BigQueryInsertJobOperator(
    task_id='snapshot_task',
    dag=dag,
    location='<dataset-location>',
    configuration={
        'query': {
            'query': 'SELECT * FROM dataset.tableA',
            'useLegacySql': False,
            'destinationTable': {
                'project_id': GCP_PROJECT,
                'dataset_id': 'dataset',
                'table_id': 'tableB',
            },
        }
    },
)

Hasil dalam pembuatan grafik silsilah berikut di UI Dataplex:

Contoh grafik silsilah di UI Dataplex.
Gambar 1. Contoh grafik silsilah untuk tabel BigQuery di UI Dataplex.

Pertimbangan fitur untuk Cloud Composer

Setiap eksekusi tugas Airflow yang melaporkan silsilah data melakukan:

  • Satu permintaan pembuatan atau update RPC untuk proses silsilah
  • Satu permintaan pembuatan atau update RPC untuk proses silsilah
  • Satu atau beberapa permintaan RPC untuk membuat peristiwa silsilah (sering kali 0 atau 1)

Untuk mengetahui detail tentang entity ini, lihat model informasi silsilah dan referensi Lineage API dalam dokumentasi Dataplex.

Traffic silsilah yang dihasilkan tunduk pada kuota di Data Lineage API. Cloud Composer menggunakan kuota Write.

Harga yang terkait dengan penanganan data silsilah tunduk pada harga silsilah. Lihat pertimbangan silsilah data.

Implikasi performa

Silsilah data dilaporkan di akhir eksekusi tugas Airflow. Rata-rata, pelaporan silsilah data memerlukan waktu sekitar 1-2 detik.

Hal ini tidak memengaruhi performa tugas itu sendiri: Tugas Airflow tidak akan gagal jika silsilah tidak berhasil dilaporkan ke Lineage API. Tidak ada dampak pada logika operator utama, tetapi seluruh instance tugas dijalankan sedikit lebih lama untuk memperhitungkan pelaporan data silsilah.

Lingkungan yang melaporkan silsilah data akan mengalami sedikit peningkatan biaya terkait, karena diperlukan waktu tambahan untuk melaporkan silsilah data.

Kepatuhan

Silsilah data menawarkan tingkat dukungan yang berbeda untuk fitur seperti Kontrol Layanan VPC. Tinjau pertimbangan silsilah data untuk memastikan bahwa tingkat dukungan sesuai dengan persyaratan lingkungan Anda.

Menggunakan integrasi silsilah data

Integrasi silsilah data untuk Cloud Composer dikelola per lingkungan. Ini berarti pengaktifan fitur memerlukan dua langkah:

  1. Aktifkan Data Lineage API di project Anda.
  2. Mengaktifkan integrasi silsilah data di lingkungan Cloud Composer tertentu.

Sebelum memulai

Saat Anda membuat lingkungan, integrasi silsilah data otomatis diaktifkan jika kondisi berikut terpenuhi:

  • Data Lineage API diaktifkan di project Anda. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Data Lineage API dalam dokumentasi Dataplex.

  • Lineage Backend kustom tidak dikonfigurasi di Airflow.

Untuk lingkungan yang ada, Anda dapat enable atau menonaktifkan integrasi silsilah data kapan saja.

Peran yang diperlukan

Integrasi dengan silsilah data memerlukan izin berikut yang ditambahkan untuk akun layanan lingkungan Cloud Composer:

  • Untuk akun layanan default: tidak diperlukan perubahan. Akun layanan default menyertakan izin yang diperlukan.
  • Untuk akun layanan yang dikelola pengguna: berikan peran Composer Worker (roles/composer.worker) ke akun layanan Anda. Peran ini mencakup semua izin silsilah data yang diperlukan.

Untuk mengetahui detail selengkapnya, lihat peran dan izin silsilah dalam dokumentasi Dataplex.

Mengaktifkan silsilah data di Cloud Composer

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Pilih tab Konfigurasi lingkungan.

  4. Di bagian Integrasi silsilah data Dataplex, klik Edit.

  5. Di panel Dataplex data lineage integration, pilih Enable integration with Dataplex data lineage, lalu klik Save.

gcloud

Gunakan argumen --enable-cloud-data-lineage-integration.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-cloud-data-lineage-integration

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.

    Nama harus diawali dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Nama lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk daftar batasan.

  • LOCATION dengan region untuk lingkungan.

    Lokasi adalah region tempat cluster GKE lingkungan berada.

Contoh:

gcloud composer environments update example-environment \
    --location us-central1 \
    --enable-cloud-data-lineage-integration

Mengirim peristiwa silsilah kustom

Anda dapat mengirim peristiwa silsilah kustom jika ingin melaporkan silsilah untuk operator yang tidak didukung untuk pelaporan silsilah otomatis.

Misalnya, untuk mengirim peristiwa kustom dengan:

  • BashOperator, ubah parameter inlets atau outlets dalam definisi tugas.
  • PythonOperator, ubah parameter task.inlets atau task.outlets dalam definisi tugas. Menggunakan AUTO untuk parameter inlets akan menetapkan nilainya sama dengan outlets dari tugas upstream-nya.

Misalnya, menjalankan tugas ini:


from airflow.composer.data_lineage.entities import BigQueryTable
from airflow.lineage import AUTO

…

bash_task = BashOperator(
   task_id='bash_task',
   dag=dag,
   bash_command='sleep 0',
   inlets=[BigQueryTable(
       project_id=GCP_PROJECT,
       dataset_id='dataset',
       table_id='table1',
   )],
   outlets=[BigQueryTable(
       project_id=GCP_PROJECT,
       dataset_id='dataset',
       table_id='table2',
   )]
)


def _python_task(task):
   task.inlets.append(BigQueryTable(
       project_id=GCP_PROJECT,
       dataset_id='dataset',
       table_id='table3',
   ))

   task.outlets.append(BigQueryTable(
       project_id=GCP_PROJECT,
       dataset_id='dataset',
       table_id='table4',
   ))


python_task = PythonOperator(
   task_id='python_task',
   dag=dag,
   python_callable=_python_task,
   inlets=[AUTO],
)

bash_task >> python_task

Hasil dalam pembuatan grafik silsilah berikut di UI Dataplex:

Contoh grafik silsilah untuk peristiwa kustom di UI Dataplex.
Gambar 2. Contoh grafik silsilah untuk beberapa tabel BigQuery di UI Dataplex.

Menonaktifkan silsilah data di Cloud Composer

Menonaktifkan integrasi silsilah di lingkungan Cloud Composer tidak akan menonaktifkan Data Lineage API. Jika Anda ingin sepenuhnya menonaktifkan pelaporan silsilah untuk project, nonaktifkan juga Data Lineage API. Lihat Menonaktifkan layanan.

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Pilih tab Konfigurasi lingkungan.

  4. Di bagian Integrasi silsilah data Dataplex, klik Edit.

  5. Di panel Dataplex data lineage integration, pilih Disable integration with Dataplex data lineage, lalu klik Save.

gcloud

Gunakan argumen --disable-cloud-data-lineage-integration.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-cloud-data-lineage-integration

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.

    Nama harus diawali dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Nama lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk daftar batasan.

  • LOCATION dengan region untuk lingkungan.

    Lokasi adalah region tempat cluster GKE lingkungan berada.

Contoh:

gcloud composer environments update example-environment \
    --location us-central1 \
    --disable-cloud-data-lineage-integration

Melihat log silsilah di Cloud Composer

Anda dapat memeriksa log yang terkait dengan silsilah data menggunakan link di halaman Environment configuration di bagian Dataplex data lineage integration.

Pemecahan masalah

Jika data silsilah tidak dilaporkan ke Lineage API, atau Anda tidak dapat melihatnya di Dataplex, coba langkah pemecahan masalah berikut:

  • Pastikan Data Lineage API diaktifkan di project lingkungan Cloud Composer Anda.
  • Periksa apakah integrasi silsilah data diaktifkan di lingkungan Cloud Composer.
  • Periksa apakah operator yang Anda gunakan disertakan dalam dukungan pelaporan silsilah otomatis. Lihat Operator Airflow yang didukung.
  • Periksa lineage log di Cloud Composer untuk mengetahui kemungkinan masalah.