Pengacakan dataflow untuk tugas batch

Tugas batch menggunakan shuffle Dataflow secara default. Shuffle Dataflow memindahkan operasi shuffle dari VM pekerja ke backend layanan Dataflow.

Tentang shuffle Dataflow

  • Dataflow shuffle adalah operasi dasar di balik transformasi Dataflow seperti GroupByKey, CoGroupByKey, dan Combine.
  • Operasi shuffle Dataflow membuat partisi dan mengelompokkan data berdasarkan kunci dengan cara yang skalabel, efisien, dan fault-tolerant.

Manfaat shuffle Dataflow

Pengurutan Dataflow berbasis layanan memiliki manfaat berikut:

  • Waktu eksekusi pipeline batch yang lebih cepat untuk sebagian besar jenis tugas pipeline.
  • Pengurangan resource penyimpanan CPU, memori, dan Persistent Disk yang digunakan di VM pekerja.
  • Penskalaan Otomatis Horizontal yang lebih baik, karena VM tidak menyimpan data shuffle sehingga dapat diskalakan lebih awal.
  • Toleransi error yang lebih baik, karena VM yang tidak sehat yang menyimpan data shuffle Dataflow tidak menyebabkan seluruh tugas gagal.

Dukungan dan batasan

  • Pengacakan Dataflow tidak tersedia untuk tugas streaming.
  • Fitur ini tersedia di semua wilayah tempat Dataflow didukung. Untuk melihat lokasi yang tersedia, baca Lokasi dataflow. Mungkin ada perbedaan performa di antara wilayah.
  • Pekerja harus di-deploy di region yang sama dengan tugas Dataflow.
  • Jangan tentukan opsi pipeline zone. Sebagai gantinya, tentukan region, dan tetapkan nilai ke salah satu region yang tersedia. Dataflow akan otomatis memilih zona di region yang Anda tentukan.

    Jika Anda menentukan opsi pipeline zone dan menetapkannya ke zona di luar region yang tersedia, tugas Dataflow akan menampilkan error. Jika Anda menetapkan kombinasi region dan zone yang tidak kompatibel, tugas Anda tidak dapat menggunakan shuffle Dataflow.

  • Untuk Python, pengurutan acak Dataflow memerlukan Apache Beam SDK untuk Python versi 2.1.0 atau yang lebih baru.

Pertimbangan ukuran disk

Ukuran disk booting default untuk setiap tugas batch adalah 25 GB. Untuk beberapa tugas batch, Anda mungkin diminta untuk mengubah ukuran disk. Pertimbangkan hal berikut:

  • VM pekerja menggunakan sebagian dari ruang disk sebesar 25 GB untuk sistem operasi, biner, log, dan penampung. Tugas yang menggunakan disk dalam jumlah yang signifikan dan melebihi kapasitas disk yang tersisa dapat gagal saat Anda menggunakan shuffle Dataflow.
  • Tugas yang menggunakan banyak I/O disk mungkin lambat karena performa disk yang kecil. Untuk mengetahui informasi selengkapnya tentang perbedaan performa antara ukuran disk, lihat Performa Persistent Disk Compute Engine.

Untuk menentukan ukuran disk yang lebih besar untuk tugas shuffle Dataflow, Anda dapat menggunakan parameter --disk_size_gb.

Harga

Sebagian besar pengurangan resource pekerja berasal dari pemindahan tugas shuffle ke layanan Dataflow. Oleh karena itu, ada biaya yang terkait dengan penggunaan shuffle Dataflow. Waktu eksekusi dapat bervariasi dari satu operasi ke operasi lainnya. Jika Anda menjalankan pipeline yang memiliki batas waktu penting, sebaiknya alokasikan waktu buffering yang memadai sebelum batas waktu.