Informasi langkah tugas Dataflow

Di antarmuka pemantauan Dataflow, panel Step info menampilkan informasi tentang setiap langkah dalam tugas. Langkah mewakili satu transformasi dalam pipeline Anda. Transformasi gabungan berisi sub-langkah.

Panel Info langkah menampilkan informasi berikut:

  • Metrik untuk langkah.
  • Informasi tentang koleksi input dan output langkah.
  • Tahap mana yang sesuai dengan langkah ini.
  • Metrik input samping.

Gunakan panel Info langkah untuk memahami performa tugas Anda di setiap langkah, dan untuk menemukan langkah-langkah yang berpotensi dioptimalkan.

Melihat informasi langkah

Untuk melihat informasi langkah, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Dataflow > Jobs.

    Buka Tugas

  2. Pilih lowongan.

  3. Klik tab Grafik tugas untuk melihat grafik tugas. Grafik tugas menampilkan setiap langkah dalam pipeline sebagai kotak.

  4. Klik langkah. Informasi tentang langkah ini muncul di panel Step info.

  5. Untuk melihat sublangkah transformasi komposit, klik panah Luaskan node.

Metrik langkah

Panel Info langkah menampilkan metrik berikut untuk langkah tersebut.

Watermark dan jeda sistem

Watermark sistem adalah stempel waktu terbaru yang semua waktu peristiwanya telah diproses sepenuhnya. Keterlambatan tanda air sistem adalah waktu maksimum item data menunggu pemrosesan.

Watermark dan keterlambatan data

Watermark data adalah stempel waktu yang menandai perkiraan waktu penyelesaian input data untuk langkah ini. Keterlambatan watermark data adalah perbedaan antara waktu peristiwa input terbaru dan watermark data.

Waktu proses

Waktu dinding adalah total perkiraan waktu yang dihabiskan di semua thread di semua pekerja untuk tindakan berikut:

  • Menginisialisasi langkah
  • Memproses data
  • Mengacak data
  • Mengakhiri langkah

Untuk langkah gabungan, waktu aktual sama dengan jumlah waktu yang dihabiskan dalam langkah komponen.

Waktu dinding dapat membantu Anda mengidentifikasi langkah-langkah yang lambat dan mendiagnosis bagian pipeline yang memerlukan waktu lebih lama dari yang diperlukan.

Latensi operasi maksimum

Latensi operasi maksimum adalah waktu maksimum yang dihabiskan dalam langkah ini untuk memproses pesan masuk atau masa berlaku jendela. Metrik ini diukur secara agregat di seluruh langkah yang digabungkan menjadi satu tahap, sehingga nilainya merepresentasikan seluruh tahap.

Koleksi input/output

Panel Info langkah menampilkan informasi berikut tentang setiap koleksi input dan output dalam langkah:

  • Diagram throughput. Diagram ini menunjukkan throughput untuk koleksi. Anda dapat melihat diagram sebagai elemen per detik, atau sebagai byte per detik. Untuk mengetahui informasi selengkapnya tentang metrik ini, lihat Throughput.

  • Jumlah elemen yang ditambahkan ke koleksi.

  • Estimasi ukuran koleksi, dalam byte.

Stage yang dioptimalkan

Tahap mewakili satu unit kerja yang dilakukan oleh Dataflow. Saat Anda memilih langkah dalam grafik tugas, panel Info langkah akan menampilkan nama tahap yang melakukan langkah ini, beserta status saat ini, seperti sedang berjalan, dihentikan, atau berhasil.

Untuk melihat informasi selengkapnya tentang tahap dalam tugas Anda, gunakan tab Detail eksekusi.

Metrik input samping

Input samping adalah input tambahan yang dapat diakses transformasi setiap kali memproses elemen. Jika transformasi membuat atau menggunakan input tambahan, panel Info Tambahan akan menampilkan metrik untuk pengumpulan input tambahan.

Jika transformasi komposit membuat atau menggunakan input samping, perluas transformasi komposit hingga Anda melihat subtransformasi tertentu yang membuat atau menggunakan input samping. Pilih subtransformasi tersebut untuk melihat metrik input tambahan.

Transformasi yang membuat input tambahan

Jika transformasi membuat koleksi input sampingan, bagian Metrik Input Sampingan menampilkan nama koleksi, beserta metrik berikut:

  • Waktu yang dihabiskan untuk menulis: Waktu yang dihabiskan untuk menulis kumpulan input samping.
  • Byte yang ditulis: Jumlah total byte yang ditulis ke koleksi input samping.
  • Waktu & byte yang dibaca dari side input: Tabel yang berisi metrik tambahan untuk semua transformasi yang menggunakan kumpulan side input, yang disebut pengguna side input.

Tabel Waktu & byte yang dibaca dari side input berisi informasi berikut untuk setiap konsumen side input:

  • Konsumen input samping: Nama transformasi konsumen input samping.
  • Waktu yang dihabiskan untuk membaca: Waktu yang dihabiskan konsumen ini untuk membaca kumpulan input samping.
  • Byte yang dibaca: Jumlah byte yang dibaca konsumen ini dari kumpulan input samping.

Gambar berikut menunjukkan metrik input tambahan untuk transformasi yang membuat koleksi input tambahan:

Metrik input samping yang ditampilkan di panel info Langkah

Grafik tugas memiliki transformasi gabungan yang diperluas (MakeMapView). Subtransformasi yang membuat input tambahan (CreateDataflowView) dipilih, dan metrik input tambahan terlihat di panel Info langkah.

Transformasi yang menggunakan input samping

Jika transformasi menggunakan satu atau beberapa input samping, bagian Metrik Input Samping akan menampilkan tabel Waktu & byte yang dibaca dari input samping. Tabel ini berisi informasi berikut untuk setiap kumpulan input samping:

  • Koleksi input samping: Nama koleksi input samping.
  • Waktu yang dihabiskan untuk membaca: Waktu yang dihabiskan transformasi untuk membaca kumpulan input samping ini.
  • Byte yang dibaca: Jumlah byte yang dibaca transformasi dari kumpulan input samping ini.

Gambar berikut menunjukkan metrik input samping untuk transformasi yang membaca dari kumpulan input samping.

Metrik input samping yang ditampilkan di panel info Langkah

Transformasi JoinBothCollections membaca dari koleksi input samping. JoinBothCollections dipilih dalam grafik tugas, dan metrik input tambahan terlihat di panel Info langkah.

Mengidentifikasi masalah performa input samping

Input samping dapat memengaruhi performa pipeline Anda. Saat pipeline Anda menggunakan input samping, Dataflow menulis koleksi ke lapisan persisten, seperti disk, dan transformasi Anda membaca dari koleksi persisten ini. Operasi baca dan tulis ini memengaruhi waktu berjalan tugas Anda.

Pengulangan adalah masalah performa input sampingan yang umum. Jika input samping PCollection terlalu besar, pekerja tidak dapat menyimpan seluruh koleksi dalam cache di memori. Akibatnya, pekerja harus membaca berulang kali dari kumpulan input samping persisten.

Pada gambar berikut, metrik input samping menunjukkan bahwa total byte yang dibaca dari kumpulan input samping jauh lebih besar daripada ukuran kumpulan, yang ditampilkan sebagai total byte yang ditulis. Koleksi input samping adalah 563 MB, dan jumlah byte yang dibaca oleh transformasi yang digunakan hampir 12 GB.

Contoh pengulangan

Untuk meningkatkan performa pipeline ini, desain ulang algoritma Anda untuk menghindari iterasi atau pengambilan ulang data input samping. Dalam contoh ini, pipeline membuat produk Cartesian dari dua koleksi. Algoritma melakukan iterasi melalui seluruh kumpulan input samping untuk setiap elemen kumpulan utama. Anda dapat meningkatkan pola akses pipeline dengan mengelompokkan beberapa elemen koleksi utama secara bersamaan. Perubahan ini mengurangi frekuensi pekerja harus membaca ulang kumpulan input samping.

Masalah performa umum lainnya dapat terjadi jika pipeline Anda melakukan penggabungan dengan menerapkan ParDo dengan satu atau beberapa input samping besar. Dalam hal ini, pekerja menghabiskan sebagian besar waktu pemrosesan untuk operasi gabungan dengan membaca dari kumpulan input samping.

Gambar berikut menunjukkan metrik input samping untuk masalah ini:

Contoh gabungan input samping yang mahal

Transformasi JoinBothCollections memiliki total waktu pemrosesan lebih dari 18 menit. Worker menghabiskan sebagian besar waktu pemrosesan (10 menit) untuk membaca dari kumpulan input samping 10 GB. Untuk meningkatkan performa pipeline ini, gunakan CoGroupByKey daripada input samping.