Melakukan penyesuaian otomatis workload Spark

Pengoptimalan workload Spark untuk performa dan ketahanan dapat menjadi tantangan tersendiri karena banyaknya opsi konfigurasi Spark dan kesulitan dalam menilai pengaruh opsi tersebut terhadap workload. Penyesuaian otomatis Dataproc Serverless memberikan alternatif untuk konfigurasi workload manual dengan menerapkan setelan konfigurasi Spark secara otomatis ke workload Spark berulang berdasarkan praktik terbaik pengoptimalan Spark dan analisis workload yang dijalankan.

Daftar untuk mendapatkan penyesuaian otomatis Dataproc Serverless

Untuk mendaftar guna mendapatkan akses ke rilis pratinjau penyesuaian otomatis Dataproc Serverless yang dijelaskan di halaman ini, lengkapi dan kirimkan formulir pendaftaran Gemini dalam Pratinjau BigQuery. Setelah formulir disetujui, project yang tercantum dalam formulir tersebut akan memiliki akses ke fitur pratinjau.

Manfaat

Penyesuaian otomatis Dataproc Serverless dapat memberikan manfaat berikut:

  • Peningkatan performa: Penyesuaian pengoptimalan untuk meningkatkan performa
  • Pengoptimalan yang lebih cepat: Konfigurasi otomatis untuk menghindari pengujian konfigurasi manual yang memakan waktu.
  • Peningkatan ketahanan: Alokasi memori otomatis untuk menghindari kegagalan terkait memori

Batasan

Penyesuaian otomatis Dataproc Serverless memiliki batasan berikut:

  • Penyesuaian otomatis dihitung dan diterapkan ke operasi beban kerja kedua dan berikutnya. Operasi pertama workload berulang tidak disesuaikan secara otomatis karena penyesuaian otomatis Dataproc Serverless menggunakan histori workload untuk pengoptimalan.
  • Perampingan memori tidak didukung.
  • Penyesuaian otomatis tidak diterapkan secara surut untuk beban kerja yang sedang berjalan, hanya untuk kohor beban kerja yang baru dikirimkan.

Kohor penyesuaian otomatis

Penyesuaian otomatis diterapkan ke eksekusi berulang dari suatu beban kerja batch, yang disebut kohor. Nama kelompok yang Anda tentukan saat mengirimkan beban kerja akan mengidentifikasinya sebagai salah satu operasi berturut-turut dari beban kerja berulang. Sebaiknya gunakan nama kelompok yang menjelaskan jenis beban kerja atau yang membantu mengidentifikasi beban kerja sebagai bagian dari beban kerja berulang. Misalnya, tentukan TPCH-Query1 sebagai nama kelompok untuk beban kerja terjadwal yang menjalankan kueri TPC-H harian.

Skenario penyesuaian otomatis

Anda menerapkan penyesuaian otomatis Dataproc Serverless pada beban kerja Anda dengan memilih satu atau beberapa skenario penyesuaian otomatis berikut:

  • OOM: Menyesuaikan alokasi memori Spark secara otomatis untuk memperbaiki beban kerja yang sebelumnya gagal karena error kehabisan memori (OOM).
  • MEMORY: Menyesuaikan alokasi memori Spark secara otomatis untuk memprediksi dan menghindari potensi error workload kehabisan memori.
  • SCALING: Menyesuaikan setelan konfigurasi penskalaan otomatis Spark secara otomatis.
  • BHJ: Menyesuaikan setelan konfigurasi Spark secara otomatis untuk mengoptimalkan performa gabungan siaran SQL.

Harga

Penyesuaian otomatis Dataproc Serverless ditawarkan selama pratinjau tanpa biaya tambahan. Harga Dataproc Serverless standar berlaku.

Ketersediaan regional

Anda dapat menggunakan autotuning Dataproc Serverless dengan batch yang dikirimkan di region Compute Engine yang tersedia.

Menggunakan penyesuaian otomatis Dataproc Serverless

Anda dapat mengaktifkan penyesuaian otomatis Dataproc Serverless pada workload menggunakan Google Cloud Console, Google Cloud CLI, atau Dataproc API.

Konsol

Untuk mengaktifkan penyesuaian otomatis Dataproc Serverless pada setiap pengiriman workload batch berulang, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Batches Dataproc.

    Buka Batch Dataproc

  2. Untuk membuat beban kerja batch, klik Buat.

  3. Di bagian Container, isi kolom berikut untuk beban kerja Spark Anda:

    • Kelompok: nama kohor, yang mengidentifikasi batch sebagai salah satu rangkaian beban kerja berulang. Penyesuaian otomatis diterapkan ke beban kerja kedua dan berikutnya yang dikirimkan dengan nama kelompok ini. Misalnya, tentukan TPCH-Query1 sebagai nama kelompok untuk beban kerja terjadwal yang menjalankan kueri TPC-H harian.
    • Skenario penyesuaian otomatis: satu atau beberapa skenario penyesuaian otomatis yang digunakan untuk mengoptimalkan beban kerja, misalnya, OOM, MEMORY, dan SCALING. Anda dapat mengubah pilihan skenario dengan setiap pengiriman kelompok batch.
  4. Isi bagian lain di halaman Create batch sesuai kebutuhan, lalu klik Submit. Untuk informasi selengkapnya tentang kolom ini, lihat Mengirim beban kerja batch.

gcloud

Untuk mengaktifkan penyesuaian otomatis Dataproc Serverless pada setiap pengiriman workload batch yang berulang, jalankan perintah gcloud CLI gcloud dataproc batches submit berikut secara lokal di jendela terminal atau di Cloud Shell.

gcloud dataproc batches submit COMMAND \
    --region=REGION \
    --cohort=COHORT \
    --autotuning-scenarios=SCENARIOS \
    other arguments ...

Ganti kode berikut:

  • COMMAND: jenis beban kerja Spark, seperti Spark, PySpark, Spark-Sql, atau Spark-R.
  • REGION: region tempat beban kerja Anda akan dijalankan.
  • COHORT: nama kohor, yang mengidentifikasi batch sebagai salah satu dari serangkaian beban kerja berulang. Penyesuaian otomatis diterapkan ke beban kerja kedua dan berikutnya yang dikirimkan dengan nama kelompok ini. Misalnya, tentukan TPCH Query 1 sebagai nama kelompok untuk workload terjadwal yang menjalankan kueri TPC-H harian.
  • SCENARIOS: satu atau beberapa skenario penyesuaian otomatis yang dipisahkan koma yang akan digunakan untuk mengoptimalkan beban kerja, misalnya, --autotuning-scenarios=OOM,MEMORY,SCALING. Anda dapat mengubah daftar skenario dengan setiap pengiriman kelompok batch.

API

Untuk mengaktifkan penyesuaian otomatis Serverless Dataproc pada setiap pengiriman workload batch yang berulang, kirimkan permintaan batches.create yang menyertakan kolom berikut:

  • RuntimeConfig.cohort: nama kohor, yang mengidentifikasi batch sebagai salah satu dari serangkaian beban kerja berulang. Penyesuaian otomatis diterapkan ke beban kerja kedua dan berikutnya yang dikirimkan dengan nama kelompok ini. Misalnya, tentukan TPCH-Query1 sebagai nama kelompok untuk beban kerja terjadwal yang menjalankan kueri TPC-H harian.
  • AutotuningConfig.scenarios: satu atau beberapa skenario penyesuaian otomatis yang digunakan untuk mengoptimalkan beban kerja, misalnya, OOM, MEMORY, dan SCALING. Anda dapat mengubah daftar skenario dengan setiap pengiriman kelompok batch.

Contoh:

...
runtimeConfig:
  cohort: TPCH-Query1
  autotuningConfig:
    scenarios:
    - OOM
    - MEMORY
    - SCALING
...

Lihat perubahan penyesuaian otomatis

Untuk melihat perubahan penyesuaian otomatis Dataproc Serverless pada beban kerja batch, jalankan perintah gcloud dataproc batches describe.

Contoh: Output gcloud dataproc batches describe mirip dengan yang berikut:

...
runtimeInfo:
   propertiesInfo:
    # Properties set by autotuning.
    autotuningProperties
      spark.driver.memory:
        annotation: Driver OOM was detected
        value: 11520m
      spark.driver.memoryOverhead:
        annotation: Driver OOM was detected
        value: 4608m
    # Old overwritten properties.
    userProperties
...

Anda juga dapat melihat perubahan penyesuaian otomatis terbaru yang diterapkan pada workload yang sedang berjalan, selesai, atau gagal dari halaman Detail batch di Konsol Google Cloud, pada tab Investigasi.

Panel investigasi penyesuaian otomatis.