Dokumen ini menjelaskan cara mengonfigurasi VM worker untuk tugas Dataflow.
Secara default, Dataflow memilih jenis mesin untuk VM worker yang menjalankan tugas Anda, beserta ukuran dan jenis Persistent Disk. Untuk mengonfigurasi VM worker, tetapkan opsi pipeline berikut saat Anda membuat tugas.
Jenis mesin
Jenis mesin Compute Engine yang digunakan Dataflow saat memulai VM worker. Anda dapat menggunakan jenis mesin x86 atau Arm, termasuk jenis mesin kustom.
Java
Tetapkan opsi pipeline workerMachineType.
Python
Tetapkan opsi pipeline machine_type.
Go
Tetapkan opsi pipeline worker_machine_type.
Untuk Arm, seri mesin Tau T2A dan C4A didukung. Untuk mengetahui informasi selengkapnya tentang penggunaan VM Arm, lihat Menggunakan VM Arm di Dataflow.
VM x86 didukung secara otomatis.
Jenis mesin dengan inti bersama (misalnya,
f1-micro,g1-small,e2-micro,e2-small, dane2-medium) tidak direkomendasikan untuk tugas Dataflow dan tidak didukung berdasarkan Perjanjian Tingkat Layanan Dataflow.Penagihan tidak bergantung pada kelompok jenis mesin. Untuk mengetahui informasi selengkapnya, lihat Harga Dataflow.
Untuk jenis mesin
f1-microdang1-small, Dataflow menagih seolah-olah memiliki 1 vCPU, dan untuk jenis mesine2-micro,e2-small, dane2-medium, Dataflow menagih seolah-olah memiliki 2 vCPU. Tarif ini ditagih meskipun jenis mesin dengan inti bersama memberikan waktu CPU berkelanjutan yang kurang dari vCPU yang ditagih.
Jenis mesin kustom
Untuk menentukan jenis mesin kustom, gunakan format berikut:
FAMILY-vCPU-MEMORY. Ganti kode berikut:
- FAMILY. Gunakan salah satu nilai berikut:
Seri mesin Nilai N1 customN2 n2-customN2D n2d-customE2 e2-custom - vCPU. Jumlah vCPU.
- MEMORY. Memori, dalam MB.
Untuk mengaktifkan
memori tambahan,
tambahkan -ext ke jenis mesin. Contoh: n2-custom-6-3072, n2-custom-2-32768-ext.
Untuk mengetahui informasi selengkapnya tentang jenis mesin kustom yang valid, lihat Jenis mesin kustom dalam dokumentasi Compute Engine.
Jenis disk
Jenis Persistent Disk yang akan digunakan.
Jangan tentukan Persistent Disk saat menggunakan Streaming Engine atau jenis mesin N4.
Java
Tetapkan opsi pipeline workerDiskType.
Python
Tetapkan opsi pipeline worker_disk_type.
Go
Tetapkan opsi pipeline disk_type.
Untuk menentukan jenis disk, gunakan format berikut:
compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE.
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- ZONE: zona untuk Persistent Disk, misalnya
us-central1-b - DISK_TYPE: jenis disk, misalnya
pd-ssd,pd-standard, atauhyperdisk-balanced
Untuk mengetahui informasi selengkapnya, lihat halaman referensi Compute Engine API untuk diskTypes.
Menyediakan IOPS dan throughput
Saat menggunakan disk Hyperdisk Balanced, Anda dapat menyediakan IOPS dan throughput secara terpisah dari ukuran disk. Untuk menyediakan IOPS dan throughput, gunakan opsi pipeline berikut berikut:
Java
- Untuk menyediakan IOPS, tetapkan opsi pipeline
diskProvisionedIOPS. - Untuk menyediakan throughput dalam MiB/dtk, tetapkan opsi pipeline
diskProvisionedThroughput.
Python
- Untuk menyediakan IOPS, tetapkan opsi pipeline
disk_provisioned_iops. - Untuk menyediakan throughput dalam MiB/dtk, tetapkan opsi pipeline
disk_provisioned_throughput_mibps.
Go
- Untuk menyediakan IOPS, tetapkan opsi pipeline
disk_provisioned_iops. - Untuk menyediakan throughput dalam MiB/dtk, tetapkan opsi pipeline
disk_provisioned_throughput_mibps.
Jika Anda tidak menetapkan opsi ini, tugas yang menggunakan disk hyperdisk-balanced akan menggunakan performa dasar 3.000 IOPS dan throughput 140 MiB/dtk secara default. Untuk mengetahui informasi selengkapnya, lihat
Tentang Hyperdisk Balanced
dalam dokumentasi Compute Engine.
Batasan
- Penyediaan IOPS dan throughput untuk Hyperdisk Balanced didukung di Apache Beam SDK versi 2.74.0 atau yang lebih baru.
Ukuran disk
Ukuran Persistent Disk.
Java
Tetapkan opsi pipeline diskSizeGb.
Python
Tetapkan opsi pipeline disk_size_gb.
Go
Tetapkan opsi pipeline disk_size_gb.
Jika Anda menetapkan opsi ini, tentukan minimal 30 GB untuk memperhitungkan boot image worker dan log lokal.
Menurunkan ukuran disk akan mengurangi I/O shuffle yang tersedia. Tugas yang terikat shuffle dan tidak menggunakan Dataflow Shuffle atau Streaming Engine dapat mengakibatkan peningkatan runtime dan biaya tugas.
Tugas batch
Untuk tugas batch yang menggunakan Dataflow Shuffle, opsi ini menetapkan ukuran disk booting VM worker. Untuk tugas batch yang tidak menggunakan Dataflow Shuffle, opsi ini menetapkan ukuran disk yang digunakan untuk menyimpan data yang diacak; ukuran disk booting tidak terpengaruh.
Jika tugas batch menggunakan Dataflow Shuffle, ukuran disk defaultnya adalah 25 GB. Jika tidak, defaultnya adalah 250 GB.
Tugas streaming
Untuk tugas streaming yang menggunakan Streaming Engine, opsi ini menetapkan ukuran disk booting. Untuk tugas streaming yang tidak menggunakan Streaming Engine, opsi ini menetapkan ukuran setiap Persistent Disk tambahan yang dibuat oleh layanan Dataflow; disk booting tidak terpengaruh.
Jika tugas streaming tidak menggunakan Streaming Engine, Anda dapat menetapkan ukuran boot disk dengan flag eksperimen streaming_boot_disk_size_gb. Misalnya, tentukan --experiments=streaming_boot_disk_size_gb=80 untuk membuat disk booting sebesar 80 GB.
Jika tugas streaming menggunakan Streaming Engine, ukuran disk defaultnya adalah 30 GB. Jika tidak, defaultnya adalah 400 GB.
Platform CPU minimum
Jika Anda memiliki workload yang sensitif terhadap performa dan bergantung pada fitur CPU tertentu, Anda dapat menentukan platform CPU minimum untuk VM worker. Opsi ini memastikan bahwa worker Dataflow menggunakan prosesor yang memenuhi atau melampaui generasi CPU yang ditentukan.
Untuk menentukan platform CPU minimum, tetapkan min_cpu_platform
opsi pipeline eksperimental.
Nilainya harus berupa nama persis platform CPU yang dipilih, seperti AMD Milan atau Intel Ice Lake. Misalnya, tentukan
--experiments=min_cpu_platform='AMD Milan' untuk menetapkan platform CPU minimum ke
AMD Milan. Untuk mengetahui daftar platform CPU minimum yang didukung, lihat
Ketersediaan platform CPU.
Untuk mengetahui informasi tentang batasan, lihat
batasan saat menentukan platform CPU minimum.
Untuk memverifikasi bahwa VM worker Dataflow dibuat dengan platform CPU minimum yang ditentukan, periksa entri Cloud Logging untuk tugas tersebut sebagai berikut:
- Buka konsol Cloud Logging di Google Cloud konsol.
Gunakan filter berikut dan ganti contoh platform CPU dan ID tugas Dataflow dengan informasi untuk tugas Anda.
resource.type="gce_instance" protoPayload.request.minCpuPlatform="AMD Milan" "dataflow_job_id"Lihat log yang dihasilkan untuk mengonfirmasi bahwa Dataflow berhasil menentukan platform CPU minimum selama proses pembuatan VM.
Menggunakan Cloud Storage FUSE untuk memasang bucket Cloud Storage ke VM Dataflow
Cloud Storage FUSE memungkinkan Anda memasang bucket Cloud Storage langsung dengan VM Dataflow, sehingga software dapat mengakses file seolah-olah file tersebut bersifat lokal. Integrasi ini menghilangkan kebutuhan untuk mendownload data terlebih dahulu, sehingga menyederhanakan akses data untuk workload Anda. Untuk mengetahui informasi selengkapnya, lihat Memproses data ML menggunakan Dataflow dan Cloud Storage FUSE.