Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Tentang integrasi silsilah data
silsilah data adalah Dataplex fitur yang memungkinkan Anda melacak bagaimana data berpindah melalui sistem Anda: dari mana data tersebut dari mana diteruskan, dan transformasi apa yang diterapkan. Silsilah data tersedia untuk:
Lingkungan Cloud Composer 2 yang menjalankan versi 2.1.2 dan yang lebih baru dengan Airflow versi 2.2.5 dan yang lebih baru.
lingkungan Cloud Composer 2 di region yang sama dengan Region Data Catalog yang mendukung silsilah data.
Setelah fitur ini diaktifkan di lingkungan Cloud Composer, menjalankan DAG yang menggunakan salah satu operator yang didukung menyebabkan Cloud Composer untuk melaporkan informasi silsilah ke Data Lineage API.
Anda kemudian dapat mengakses informasi tersebut menggunakan:
- Data Lineage API
- Grafik visualisasi silsilah untuk entri Data Catalog yang didukung di Dataplex. Lihat Grafik visualisasi garis keturunan dalam dokumentasi Dataplex.
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:
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 entitas ini, lihat model informasi silsilah dan Referensi Lineage API di Dataplex dokumentasi layanan.
Traffic silsilah yang ditampilkan tunduk kepada 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 melakukan mengeksekusi sedikit lebih lama untuk memperhitungkan data silsilah pelaporan.
Lingkungan yang melaporkan silsilah data akan mengalami sedikit peningkatan biaya terkait, karena waktu tambahan yang diperlukan 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 di per lingkungan. Ini berarti pengaktifan fitur memerlukan dua langkah:
- Aktifkan Data Lineage API di project Anda.
- Mengaktifkan integrasi silsilah data di Cloud Composer tertentu lingkungan fleksibel App Engine.
Sebelum memulai
Saat Anda membuat lingkungan, integrasi silsilah data otomatis diaktifkan jika kondisi berikut terpenuhi:
Data Lineage API diaktifkan di project Anda. Untuk informasi selengkapnya, lihat Mengaktifkan Data Lineage API di Dokumentasi Dataplex.
Kustom Backend Silsilah tidak dikonfigurasi di Airflow.
Untuk lingkungan yang sudah ada, Anda dapat mengaktifkan atau nonaktifkan 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 termasuk izin yang diperlukan.
- Untuk akun layanan yang dikelola pengguna: berikan 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
Di Konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Pilih tab Konfigurasi lingkungan.
Di bagian Integrasi silsilah data Dataplex, klik Edit.
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 huruf, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai Cloud Storage nama bucket. Baca Panduan penamaan bucket untuk mengetahui daftarnya pembatasan.
LOCATION
dengan region untuk lingkungan.Lokasi adalah region tempat cluster GKE lingkungan berada ditemukan.
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 suatu operator yang tidak didukung untuk pelaporan silsilah otomatis.
Misalnya, untuk mengirim peristiwa kustom dengan:
BashOperator
, ubah parameterinlets
atauoutlets
dalam tugas definisi.PythonOperator
, ubah parametertask.inlets
atautask.outlets
dalam definisi tugas. MenggunakanAUTO
untuk parameterinlets
akan menetapkan sama denganoutlets
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:
Menonaktifkan silsilah data di Cloud Composer
Menonaktifkan integrasi silsilah di lingkungan Cloud Composer tidak dapat menonaktifkan Data Lineage API. Jika ingin menonaktifkan silsilah sepenuhnya untuk proyek Anda, nonaktifkan juga Data Lineage API. Lihat Menonaktifkan layanan.
Konsol
Di Konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Pilih tab Konfigurasi lingkungan.
Di bagian Integrasi silsilah data Dataplex, klik Edit.
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 huruf, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai Cloud Storage nama bucket. Baca Panduan penamaan bucket untuk mengetahui daftarnya pembatasan.
LOCATION
dengan region untuk lingkungan.Lokasi adalah region tempat cluster GKE lingkungan berada ditemukan.
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 Dataplex integrasi silsilah data.
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.
- Memeriksa apakah integrasi silsilah data diaktifkan di Cloud Composer lingkungan fleksibel App Engine.
- Periksa apakah operator yang Anda gunakan termasuk dalam silsilah otomatis dukungan pelaporan. Lihat Operator Airflow yang didukung.
- Periksa lineage log di Cloud Composer untuk mengetahui kemungkinan masalah.