Membuat profil penggunaan resource Dataproc Serverless untuk Spark

Dokumen ini menjelaskan cara membuat profil penggunaan resource Dataproc Serverless untuk Spark. Cloud Profiler terus mengumpulkan dan melaporkan informasi penggunaan CPU dan alokasi memori aplikasi. Anda dapat mengaktifkan profiling saat mengirimkan batch atau membuat beban kerja sesi menggunakan properti pembuatan profil yang tercantum dalam tabel berikut. Dataproc Serverless untuk Spark menambahkan opsi JVM terkait ke konfigurasi spark.driver.extraJavaOptions dan spark.executor.extraJavaOptions yang digunakan untuk workload.

Opsi Deskripsi Nilai Default
dataproc.profiling.enabled Mengaktifkan pembuatan profil beban kerja true atau false false
dataproc.profiling.name Nama profil di layanan Profiler PROFILE_NAME spark-WORKLOAD_TYPE-WORKLOAD_ID, dengan:
  • WORKLOAD_TYPE ditetapkan ke batch atau session
  • WORKLOAD_ID ditetapkan ke batchId atau sessionId

Catatan:

  • Dataproc Serverless untuk Spark menetapkan versi profiler ke UUID batch atau UUID sesi.
  • Profiler mendukung jenis beban kerja Spark berikut: Spark, PySpark, SparkSql, dan SparkR.
  • Beban kerja harus berjalan selama lebih dari tiga menit agar Profiler dapat mengumpulkan dan mengupload data ke project.
  • Anda dapat mengganti opsi pembuatan profil yang dikirimkan dengan beban kerja dengan membuat SparkConf, lalu menetapkan extraJavaOptions dalam kode Anda. Perhatikan bahwa menetapkan properti extraJavaOptions saat beban kerja dikirim tidak akan mengganti opsi pembuatan profil yang dikirim dengan beban kerja.

Untuk contoh opsi profiler yang digunakan dengan pengiriman batch, lihat contoh beban kerja batch PySpark.

Mengaktifkan pembuatan profil

Selesaikan langkah-langkah berikut untuk mengaktifkan pembuatan profil pada beban kerja:

  1. Aktifkan Profiler.
  2. Jika Anda menggunakan akun layanan VM kustom, berikan peran Cloud Profiler Agent ke akun layanan VM kustom. Peran ini berisi izin Profiler yang diperlukan.
  3. Tetapkan properti pembuatan profil saat Anda mengirimkan beban kerja batch atau membuat template sesi.

Contoh workload batch PySpark

Contoh berikut menggunakan gcloud CLI untuk mengirimkan beban kerja batch PySpark dengan pembuatan profil yang diaktifkan.

gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \
    --region=REGION \
    --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \
    --  other args

Dua profil dibuat:

  • PROFILE_NAME-driver untuk membuat profil tugas driver spark
  • PROFILE_NAME-executor untuk membuat profil tugas eksekutor spark

Lihat profil

Anda dapat melihat profil dari Profiler di konsol Google Cloud.

Langkah berikutnya