Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Tentang integrasi silsilah data
Silsilah data adalah fitur Dataplex yang memungkinkan Anda melacak bagaimana data bergerak melalui sistem: dari mana data berasal, tempat data diteruskan, dan transformasi yang diterapkan pada data. 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 lineage data.
Setelah fitur diaktifkan di lingkungan Cloud Composer, menjalankan DAG yang menggunakan operator yang didukung akan menyebabkan Cloud Composer melaporkan informasi garis keturunan ke Data Lineage API.
Kemudian, Anda dapat mengakses informasi tersebut menggunakan:
- Data Lineage API
- Grafik visualisasi silsilah untuk entri Data Catalog yang didukung di Dataplex. Lihat Grafik visualisasi silsilah dalam dokumentasi Dataplex.
Operator yang didukung
Operator berikut mendukung pelaporan garis keturunan 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',
},
}
},
)
Hasilnya adalah pembuatan grafik garis keturunan berikut di UI Dataplex:
Pertimbangan fitur untuk Cloud Composer
Setiap eksekusi tugas Airflow yang melaporkan garis keturunan data akan melakukan:
- Satu permintaan RPC buat atau perbarui untuk proses garis keturunan
- Satu permintaan RPC buat atau perbarui untuk menjalankan lineage
- Satu atau beberapa permintaan RPC untuk membuat peristiwa garis keturunan (kebanyakan 0 atau 1)
Untuk mengetahui detail tentang entitas ini, lihat model informasi silsilah dan referensi Lineage API dalam dokumentasi Dataplex.
Traffic lineage yang dimunculkan tunduk pada kuota di Data Lineage API. Cloud Composer menggunakan kuota Tulis.
Harga yang terkait dengan penanganan data lineage tunduk pada harga lineage. Lihat pertimbangan silsilah data.
Implikasi performa
Silsilah data dilaporkan di akhir eksekusi tugas Airflow. Rata-rata, pelaporan garis keturunan data memerlukan waktu sekitar 1-2 detik.
Hal ini tidak memengaruhi performa tugas itu sendiri: Tugas Airflow tidak gagal jika silsilah tidak berhasil dilaporkan ke Lineage API. Tidak ada dampak pada logika operator utama, tetapi seluruh instance tugas akan dijalankan sedikit lebih lama untuk memperhitungkan data garis keturunan pelaporan.
Lingkungan yang melaporkan urutan data akan mengalami sedikit peningkatan biaya terkait, karena waktu tambahan yang diperlukan untuk melaporkan urutan data.
Kepatuhan
Lineage 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 garis keturunan data
Integrasi silsilah data untuk Cloud Composer dikelola berdasarkan lingkungan. Artinya, mengaktifkan fitur ini memerlukan dua langkah:
- Aktifkan Data Lineage API di project Anda.
- Mengaktifkan integrasi silsilah data di lingkungan Cloud Composer tertentu.
Sebelum memulai
Saat Anda membuat lingkungan, integrasi silsilah data akan otomatis diaktifkan jika kondisi berikut terpenuhi:
Data Lineage API diaktifkan di project Anda. Untuk informasi selengkapnya, lihat Mengaktifkan Data Lineage API dalam dokumentasi Dataplex.
Lineage Backend kustom tidak dikonfigurasi di Airflow.
Untuk lingkungan yang ada, Anda dapat mengaktifkan 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 Anda:
- Untuk akun layanan default: tidak perlu perubahan. Akun layanan default menyertakan izin yang diperlukan.
- Untuk akun layanan yang dikelola pengguna: berikan peran Pekerja Composer
(
roles/composer.worker
) ke akun layanan Anda. Peran ini mencakup semua izin garis keturunan 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.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Pilih tab Environment configuration.
Di bagian Integrasi silsilah data Dataplex, klik Edit.
Di panel Integrasi garis keturunan data Dataplex, pilih Aktifkan integrasi dengan garis keturunan data Dataplex, lalu klik Simpan.
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 dimulai 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, sehingga Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk mengetahui daftar pembatasan.
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 garis keturunan kustom
Anda dapat mengirim peristiwa garis keturunan kustom jika ingin melaporkan garis keturunan untuk operator yang tidak didukung untuk pelaporan garis keturunan otomatis.
Misalnya, untuk mengirim peristiwa kustom dengan:
BashOperator
, ubah parameterinlets
atauoutlets
dalam definisi tugas.PythonOperator
, ubah parametertask.inlets
atautask.outlets
dalam definisi tugas. MenggunakanAUTO
untuk parameterinlets
akan menetapkan nilainya 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
Hasilnya adalah pembuatan grafik garis keturunan berikut di UI Dataplex:
Menonaktifkan silsilah data di Cloud Composer
Menonaktifkan integrasi lineage di lingkungan Cloud Composer tidak akan menonaktifkan Data Lineage API. Jika Anda ingin sepenuhnya menonaktifkan pelaporan lineage untuk project, nonaktifkan juga Data Lineage API. Lihat Menonaktifkan layanan.
Konsol
Di konsol Google Cloud, buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Pilih tab Environment configuration.
Di bagian Integrasi silsilah data Dataplex, klik Edit.
Di panel Integrasi silsilah data Dataplex, pilih Nonaktifkan integrasi dengan silsilah data Dataplex, lalu klik Simpan.
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 dimulai 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, sehingga Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk mengetahui daftar pembatasan.
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 lineage data menggunakan link di halaman Konfigurasi lingkungan di bagian Integrasi lineage data Dataplex.
Pemecahan masalah
Jika data lineage tidak dilaporkan ke Lineage API, atau Anda tidak dapat melihatnya di Dataplex, coba langkah-langkah pemecahan masalah berikut:
- Pastikan Data Lineage API diaktifkan di project lingkungan Cloud Composer Anda.
- Periksa apakah integrasi garis keturunan data diaktifkan di lingkungan Cloud Composer.
- Periksa apakah operator yang Anda gunakan disertakan dalam dukungan pelaporan lineage otomatis. Lihat Operator Airflow yang didukung.
- Periksa log silsilah di Cloud Composer untuk mengetahui kemungkinan masalah.