Data yang disimpan di Cloud Storage

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan data apa saja yang disimpan Cloud Composer untuk lingkungan Anda di Cloud Storage.

Saat Anda membuat lingkungan, Cloud Composer membuat bucket Cloud Storage dan mengaitkan bucket dengan lingkungan Anda. Nama bucket didasarkan pada region lingkungan, nama, dan ID acak seperti us-central1-b1-6efabcde-bucket.

Cloud Composer menyinkronkan folder tertentu di bucket lingkungan Anda ke komponen Airflow yang berjalan di lingkungan Anda. Misalnya, saat Anda mengupdate file dengan kode Airflow DAG di bucket lingkungan, komponen Airflow juga akan menerima versi terbaru. Cloud Composer menggunakan Cloud Storage FUSE untuk sinkronisasi.

Folder di bucket Cloud Storage

Folder Jalur penyimpanan Direktori yang dipetakan Deskripsi
DAG gs://bucket-name/dags /home/airflow/gcs/dags Menyimpan DAG untuk lingkungan Anda.
Plugin gs://bucket-name/plugins /home/airflow/gcs/plugins Menyimpan plugin kustom Anda, seperti operator, hook, sensor, atau antarmuka Airflow internal.
Data gs://bucket-name/data /home/airflow/gcs/data Menyimpan data yang dihasilkan dan digunakan oleh tugas.
Log gs://bucket-name/logs /home/airflow/gcs/logs Menyimpan log Airflow untuk tugas. Log juga tersedia di antarmuka web Airflow dan di tab Logs di Konsol Google Cloud.

Cloud Composer menyinkronkan folder dags/ dan plugins/ secara searah. Sinkronisasi searah berarti bahwa perubahan lokal dalam folder ini pada komponen Airflow akan ditimpa. Folder data/ dan logs/ disinkronkan secara dua arah.

Sinkronisasi data pada akhirnya konsisten. Untuk mengirim pesan dari satu operator ke operator lain, gunakan XComs.

Pertimbangan kapasitas

Data dari folder dags/, plugins/, dan data/ disinkronkan ke penjadwal Airflow dan pekerja.

Konten folder plugins/ disinkronkan ke server web Airflow.

Makin banyak data yang dimasukkan ke dalam folder ini, makin banyak ruang yang ditempati dalam penyimpanan lokal komponen Airflow. Menyimpan terlalu banyak data di dags/ dan plugins/ dapat mengganggu operasi Anda dan menyebabkan masalah seperti:

  • Pekerja atau penjadwal kehabisan penyimpanan lokal dan dikeluarkan karena ruang penyimpanan lokal komponen tidak cukup.

  • Sinkronisasi file dari folder dags/ dan plugins/ ke pekerja dan penjadwal memerlukan waktu lama.

  • Menyinkronkan file dari folder dags/ dan plugins/ ke pekerja dan penjadwal menjadi tidak mungkin. Misalnya, Anda menyimpan file 2 GB di folder dags/, tetapi disk lokal pekerja Airflow hanya dapat mengakomodasi 1 GB. Selama sinkronisasi, pekerja kehabisan penyimpanan lokal dan sinkronisasi tidak dapat diselesaikan.

Folder DAG dan plugin

Untuk menghindari kegagalan pengoperasian DAG, simpan modul DAG, plugin, dan modul Python di folder dags/ atau plugins/, meskipun modul Python Anda tidak berisi DAG atau plugin.

Misalnya, Anda menggunakan DataFlowPythonOperator yang mereferensikan pipeline Dataflow py_file. py_file tersebut tidak berisi DAG atau plugin, tetapi Anda tetap harus menyimpannya di folder dags/ atau plugins/.

Folder data

Ada beberapa skenario saat file tertentu dari folder data/ disinkronkan ke komponen Airflow tertentu. Misalnya, saat Cloud Composer mencoba membaca file tertentu untuk pertama kalinya selama:

  • Penguraian DAG: Saat file dibaca untuk pertama kalinya selama penguraian DAG, Cloud Composer akan menyinkronkannya ke penjadwal yang mengurai DAG.

  • Eksekusi DAG: Saat file dibaca untuk pertama kalinya selama eksekusi DAG, Cloud Composer akan menyinkronkannya ke pekerja yang menjalankan eksekusi.

Komponen Airflow memiliki penyimpanan lokal yang terbatas, jadi pertimbangkan untuk menghapus file yang didownload untuk mengosongkan ruang disk di komponen Anda. Perhatikan bahwa penggunaan penyimpanan lokal juga dapat meningkat untuk sementara jika Anda memiliki beberapa tugas serentak yang mendownload file yang sama ke satu pekerja Airflow.

Folder log

Folder logs/ disinkronkan dari worker Airflow ke bucket lingkungan menggunakan Cloud Storage API.

Kuota Cloud Storage API dihitung berdasarkan jumlah data yang dipindahkan, sehingga jumlah tugas Airflow yang dijalankan sistem Anda dapat meningkatkan penggunaan Cloud Storage API: makin banyak tugas yang dijalankan, makin besar file log Anda.

Sinkronisasi dengan server web

Folder plugins/ secara otomatis disinkronkan ke server web sehingga plugin dapat dimuat oleh UI Airflow. Di Cloud Composer 3, Anda dapat menonaktifkan dan mengaktifkan plugin server web sesuai permintaan, tanpa menghapus file dari bucket lingkungan.

Langkah selanjutnya