Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan cara mengaktifkan dukungan untuk Operator yang Dapat Ditangguhkan di lingkungan fleksibel dan menggunakan operator Google Cloud yang dapat ditangguhkan di DAG Anda.
Tentang Operator yang Dapat Ditangguhkan di Cloud Composer
Jika Anda memiliki setidaknya satu instance pemicu (atau setidaknya dua instance tetap tangguh), Anda dapat menggunakan Operator dan Pemicu yang Dapat Ditangguhkan di DAG.
Untuk operator yang dapat ditangguhkan, Airflow membagi eksekusi tugas ke dalam tahap berikut:
Mulai operasi. Pada tahap ini, tugas menempati pekerja Airflow slot waktu. Tugas tersebut melakukan operasi yang mendelegasikan tugas ke layanan yang berbeda.
Misalnya, menjalankan tugas BigQuery dapat memakan beberapa detik hingga beberapa jam. Setelah membuat tugas, operasi meneruskan ID pekerjaan (ID tugas BigQuery) ke Pemicu Airflow.
Pemicu memantau tugas hingga selesai. Pada tahap ini, slot pekerja tidak ditempati. Pemicu Airflow memiliki dan mampu menangani ratusan pekerjaan seperti itu. Jika mendeteksi bahwa tugas telah selesai, lalu mengirimkan peristiwa yang memicu tahap terakhir.
Pada tahap terakhir, pekerja Airflow akan mengeksekusi callback. Callback ini, untuk menandai tugas sebagai berhasil, atau menjalankan operasi lain dan mengatur lagi tugas agar dipantau oleh pemicu.
Pemicu bersifat stateless sehingga tahan terhadap gangguan atau memulai ulang, . Oleh karena itu, tugas yang berjalan lama tahan terhadap pembaruan pod, kecuali jika {i>restart<i} terjadi selama tahap terakhir, yang diharapkan berlangsung singkat.
Sebelum memulai
- Operator dan Sensor yang Dapat Ditangguhkan tersedia di Cloud Composer 2
dan memerlukan hal berikut:
- Cloud Composer 2.0.31 dan versi yang lebih baru
- Airflow 2.2.5, 2.3.3, dan versi yang lebih baru
Mengaktifkan dukungan untuk operator yang dapat ditangguhkan
Komponen lingkungan yang disebut Airflow triggerer secara asinkron memantau semua tugas yang ditangguhkan di lingkungan Anda. Setelah operasi yang ditangguhkan dari tugas tersebut selesai, pemicu meneruskan tugas ke pekerja Airflow.
Anda memerlukan setidaknya satu instance pemicu di lingkungan Anda (atau setidaknya dua di lingkungan yang sangat tangguh) untuk menggunakan mode yang dapat ditangguhkan di DAG Anda. Anda dapat mengonfigurasi pemicu saat Anda membuat lingkungan atau menyesuaikan jumlah pemicu dan parameter performa untuk lingkungan yang ada.
Operator Google Cloud yang mendukung mode yang dapat ditangguhkan
Hanya beberapa operator Airflow yang telah diperpanjang untuk mendukung model yang dapat ditangguhkan.
Daftar berikut adalah referensi untuk operator dalam
Paket airflow.providers.google.operators.cloud
yang mendukung mode yang dapat ditangguhkan.
Kolom dengan versi paket airflow.providers.google.operators.cloud
minimum yang diperlukan menunjukkan versi paket paling awal jika operator tersebut mendukung mode yang dapat ditangguhkan.
Operator Cloud Composer
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
Operator BigQuery
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
BigQueryCheckOperator | 8.4.0 |
BigQueryValueCheckOperator | 8.4.0 |
BigQueryIntervalCheckOperator | 8.4.0 |
BigQueryGetDataOperator | 8.4.0 |
BigQueryInsertJobOperator | 8.4.0 |
Operator BigQuery Data Transfer Service
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Operator Cloud Build
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operator Cloud SQL
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Operator Dataflow
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
Operator Cloud Data Fusion
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Operator Dataproc
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
DataprocCreateClusterOperator | 8.9.0 |
DataprocDeleteClusterOperator | 8.9.0 |
DataprocJobBaseOperator | 8.4.0 |
DataprocInstantiateWorkflowTemplateOperator | 9.0.0 |
DataprocInstantiateInlineWorkflowTemplateOperator | 10.1.0 |
DataprocSubmitJobOperator | 8.4.0 |
DataprocUpdateClusterOperator | 8.9.0 |
DataprocCreateBatchOperator | 8.9.0 |
Operator Google Kubernetes Engine
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
Operator AI Platform
Nama operator | Versi apache-airflow-providers-google yang diperlukan |
---|---|
MLEngineStartTrainingJobOperator | 8.9.0 |
Menggunakan operator yang dapat ditangguhkan di DAG Anda
Konvensi umum untuk semua operator Google Cloud adalah mengaktifkan
mode yang dapat ditangguhkan dengan parameter boolean deferrable
. Jika akun Google Cloud
operator tidak memiliki parameter ini, maka operator tersebut tidak dapat berjalan di file yang dapat ditangguhkan
mode. Operator lain dapat memiliki konvensi yang berbeda. Misalnya, beberapa
operator komunitas memiliki class terpisah dengan akhiran Async
di
nama.
Contoh DAG berikut menggunakan operator DataprocSubmitJobOperator
di kolom
mode yang dapat ditangguhkan:
PYSPARK_JOB = {
"reference": { "project_id": "PROJECT_ID" },
"placement": { "cluster_name": "PYSPARK_CLUSTER_NAME" },
"pyspark_job": {
"main_python_file_uri": "gs://dataproc-examples/pyspark/hello-world/hello-world.py"
},
}
DataprocSubmitJobOperator(
task_id="dataproc-deferrable-example",
job=PYSPARK_JOB,
deferrable=True,
)
Lihat log pemicu
Pemicu menghasilkan log yang tersedia bersama dengan log komponen lingkungan. Untuk informasi selengkapnya tentang cara melihat lingkungan Anda log, baca Melihat log.
Memantau pemicu
Untuk informasi selengkapnya tentang pemantauan komponen pemicu, lihat Metrik aliran udara.
Selain memantau pemicu, Anda dapat memeriksa jumlah tugas di metrik Tugas yang Belum Selesai di dasbor Monitoring lingkungan fleksibel App Engine.