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:
Di konsol Google Cloud, buka halaman Batches Dataproc.
Untuk membuat beban kerja batch, klik Buat.
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
, danSCALING
. Anda dapat mengubah pilihan skenario dengan setiap pengiriman kelompok batch.
- 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
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
, atauSpark-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, tentukanTPCH-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
, danSCALING
. 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.