Mengonfigurasi VM pekerja Dataflow

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, dan e2-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-micro dan g1-small, Dataflow menagih seolah-olah memiliki 1 vCPU, dan untuk jenis mesin e2-micro, e2-small, dan e2-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 mesinNilai
    N1custom
    N2n2-custom
    N2Dn2d-custom
    E2e2-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, atau hyperdisk-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:

  1. Buka konsol Cloud Logging di Google Cloud konsol.
  2. 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"
    
  3. 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.

Langkah berikutnya