Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Halaman ini menjelaskan cara menggunakan Managed Airflow (Gen 2) untuk menjalankan Managed Service untuk Apache Spark workload di Google Cloud.
Contoh di bagian berikut menunjukkan cara menggunakan operator untuk mengelola workload batch Managed Service untuk Apache Spark. Anda menggunakan operator ini dalam DAG yang membuat, menghapus, mencantumkan, dan mendapatkan workload batch Managed Service untuk Apache Spark:
Membuat DAG untuk operator yang berfungsi dengan workload batch Managed Service untuk Apache Spark:
Membuat DAG yang menggunakan container kustom dan Dataproc Metastore.
Mengonfigurasi Persistent History Server untuk DAG ini.
Sebelum memulai
Aktifkan Dataproc API:
Konsol
Aktifkan Managed Service untuk Apache Spark API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud
Aktifkan Managed Service untuk Apache Spark API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable dataproc.googleapis.com
Pilih lokasi untuk file workload batch Anda. Anda dapat menggunakan salah satu opsi berikut:
- Buat bucket Cloud Storage yang menyimpan file ini.
- Gunakan bucket lingkungan Anda. Karena Anda tidak perlu menyinkronkan file ini dengan Airflow, Anda dapat membuat subfolder terpisah di luar folder
/dagsatau/data. Misalnya,/batches. - Gunakan bucket yang ada.
Menyiapkan file dan variabel Airflow
Bagian ini menunjukkan cara menyiapkan file dan mengonfigurasi variabel Airflow untuk tutorial ini.
Mengupload file workload ML Managed Service untuk Apache Spark ke bucket
Workload dalam tutorial ini menjalankan skrip pyspark:
Simpan skrip pyspark ke file lokal bernama
spark-job.py. Misalnya, Anda dapat menggunakan contoh skrip pyspark.Unggah file ke lokasi yang Anda pilih di Sebelum memulai.
Menyetel variabel Airflow
Contoh di bagian berikut menggunakan variabel Airflow. Anda menetapkan nilai untuk variabel ini di Airflow, lalu kode DAG Anda dapat mengakses nilai ini.
Contoh dalam tutorial ini menggunakan variabel Airflow berikut. Anda dapat menetapkannya sesuai kebutuhan, bergantung pada contoh yang Anda gunakan.
Tetapkan variabel Airflow berikut untuk digunakan dalam kode DAG Anda:
project_id: ID Project.bucket_name: URI bucket tempat file python utama workload (spark-job.py) berada. Anda memilih lokasi ini di Sebelum memulai.phs_cluster: Nama cluster Persistent History Server. Anda menetapkan variabel ini saat Membuat Persistent History Server.image_name: nama dan tag image container kustom (image:tag). Anda menetapkan variabel ini saat Anda menggunakan image container kustom dengan DataprocCreateBatchOperator.metastore_cluster: Nama layanan Dataproc Metastore. Anda menetapkan variabel ini saat menggunakan layanan Dataproc Metastore dengan DataprocCreateBatchOperator.region_name: region tempat layanan Dataproc Metastore berada. Anda menetapkan variabel ini saat menggunakan layanan Dataproc Metastore dengan DataprocCreateBatchOperator.
Menggunakan Google Cloud konsol dan UI Airflow untuk menetapkan setiap variabel Airflow
Di Google Cloud konsol, buka halaman Environments.
Dalam daftar lingkungan, klik link Airflow untuk lingkungan Anda. UI Airflow akan terbuka.
Di UI Airflow, pilih Admin > Variables.
Klik Add a new record.
Tentukan nama variabel di kolom Key, dan tetapkan nilainya di kolom Val.
Klik Save.
Membuat Persistent History Server
Gunakan Persistent History Server (PHS) untuk melihat file histori Spark dari workload batch Anda:
- Buat Persistent History Server.
- Pastikan Anda menentukan nama cluster PHS dalam variabel Airflow
phs_cluster.
DataprocCreateBatchOperator
DAG berikut memulai workload batch Managed Service untuk Apache Spark.
Untuk mengetahui informasi selengkapnya tentang argumen DataprocCreateBatchOperator, lihat
kode sumber operator.
Untuk mengetahui informasi selengkapnya tentang atribut yang dapat Anda teruskan dalam batch
parameter dari DataprocCreateBatchOperator, lihat
deskripsi class Batch.
Menggunakan image container kustom dengan DataprocCreateBatchOperator
Contoh berikut menunjukkan cara menggunakan image container kustom untuk menjalankan workload Anda. Anda dapat menggunakan container kustom, misalnya, untuk menambahkan dependensi Python yang tidak disediakan oleh image container default.
Untuk menggunakan image container kustom:
Buat image container kustom dan upload ke Container Registry.
Tentukan image dalam
image_namevariabel Airflow.Gunakan DataprocCreateBatchOperator dengan image kustom Anda:
Menggunakan layanan Dataproc Metastore dengan DataprocCreateBatchOperator
Untuk menggunakan layanan Dataproc Metastore dari DAG:
Pastikan layanan metastore Anda sudah dimulai.
Untuk mempelajari cara memulai layanan metastore, lihat Mengaktifkan dan menonaktifkan Dataproc Metastore.
Untuk mengetahui informasi mendetail tentang operator Batch untuk membuat konfigurasi, lihat PeripheralsConfig.
Setelah layanan metastore aktif dan berjalan, tentukan namanya dalam variabel
metastore_clusterdan regionnya dalamregion_namevariabel Airflow.Gunakan layanan metastore di DataprocCreateBatchOperator:
DataprocDeleteBatchOperator
Anda dapat menggunakan DataprocDeleteBatchOperator untuk menghapus batch berdasarkan ID batch workload.
DataprocListBatchesOperator
DataprocDeleteBatchOperator mencantumkan batch yang ada dalam project_id dan region tertentu.
DataprocGetBatchOperator
DataprocGetBatchOperator mengambil satu workload batch tertentu.