Dokumen ini menunjukkan cara mengaktifkan peningkatan performa Dataproc Spark untuk membantu tugas Dataproc Spark Anda memproses lebih banyak data dalam waktu lebih singkat dengan biaya yang lebih rendah.
Peningkatan performa Dataproc Spark mencakup:
- Peningkatan Spark Optimizer:
- Aturan pengoptimal yang ditulis untuk paket Spark yang lebih baik
- Peningkatan performa konektor BigQuery Dataproc saat digunakan dalam tugas Spark
- Peningkatan Eksekusi Spark:
- Peningkatan mesin eksekusi Spark
Peningkatan performa Dataproc lainnya: Lihat cache cluster Dataproc, yang membantu mengurangi jumlah waktu yang dihabiskan untuk mengakses data di Cloud Storage.
Cara mengaktifkan peningkatan performa Dataproc Spark
Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, dan Dataproc API untuk mengaktifkan peningkatan performa Dataproc Spark saat membuat cluster Dataproc di Compute Engine atau saat mengirimkan tugas Spark ke cluster.
Konsol
Mengaktifkan peningkatan saat pembuatan cluster
Lakukan langkah-langkah berikut untuk mengaktifkan pengoptimalan Spark dan peningkatan eksekusi saat Anda membuat cluster Dataproc. Peningkatan yang diaktifkan tetap berlaku untuk semua tugas Spark yang dikirim ke cluster, kecuali jika Anda menonaktifkan peningkatan untuk tugas tertentu saat mengirimkan tugas. Secara default, peningkatan performa Dataproc Spark dinonaktifkan di cluster Dataproc.
- Di konsol Google Cloud, buka halaman Create a cluster Dataproc.
- Pada formulir Create Dataproc cluster, klik Create di baris Cluster on Compute Engine.
- Di halaman Create a Dataproc cluster on Compute Engine, klik panel Customize cluster, lalu scroll ke bagian Cluster properties.
- Untuk mengaktifkan peningkatan pengoptimalan Spark:
- Klik + TAMBAHKAN PROPERTI.
- Pilih spark dalam daftar Prefix, lalu tambahkan "spark.dataproc.enhanced.optimizer.enabled" di kolom Key dan "true" di kolom Value.
- Untuk mengaktifkan peningkatan eksekusi Spark:
- Klik + TAMBAHKAN PROPERTI.
- Pilih spark dalam daftar Prefix, lalu tambahkan "spark.dataproc.enhanced.execution.enabled" di kolom Key dan "true" di kolom Value.
- Untuk mengaktifkan peningkatan pengoptimalan Spark:
- Selesaikan pengisian atau konfirmasi kolom pembuatan cluster lainnya, lalu klik Buat.
Mengaktifkan peningkatan saat pengiriman tugas
Lakukan langkah-langkah berikut untuk mengaktifkan pengoptimalan Spark dan peningkatan eksekusi untuk tugas Spark. Secara default, peningkatan performa Dataproc Spark dinonaktifkan pada tugas Spark, kecuali jika Anda mengaktifkan peningkatan saat membuat cluster tugas atau mengaktifkannya untuk tugas tertentu.
- Di konsol Google Cloud, buka halaman Jobs Dataproc.
- Di halaman Jobs, klik Submit job, lalu scroll ke bagian Properties tugas.
- Untuk mengaktifkan peningkatan pengoptimalan Spark:
- Klik + TAMBAHKAN PROPERTI. Tambahkan "spark.dataproc.enhanced.optimizer.enabled" di kolom Key dan "true" di kolom Value.
- Untuk mengaktifkan peningkatan eksekusi Spark:
- Klik + TAMBAHKAN PROPERTI.
- Tambahkan "spark.dataproc.enhanced.execution.enabled" di kolom Key dan "true" di kolom Value.
- Untuk mengaktifkan peningkatan pengoptimalan Spark:
- Selesaikan pengisian atau konfirmasi kolom pengiriman tugas lainnya, lalu klik Kirim.
gcloud
Mengaktifkan peningkatan saat pembuatan cluster
Lakukan langkah-langkah berikut untuk mengaktifkan pengoptimalan Spark dan peningkatan eksekusi saat Anda membuat cluster Dataproc. Peningkatan yang diaktifkan tetap berlaku untuk semua tugas Spark yang dikirim ke cluster, kecuali jika Anda menonaktifkan peningkatan untuk tugas tertentu saat mengirimkan tugas. Secara default, peningkatan performa Dataproc Spark dinonaktifkan di cluster Dataproc.
Jalankan perintah gcloud dataproc clusters create berikut secara lokal di jendela terminal atau di Cloud Shell.
gcloud dataproc clusters create CLUSTER_NAME \ --project=PROJECT_ID \ --region=REGION \ --image-version=IMAGE \ --properties=PROPERTIES
Catatan:
- CLUSTER_NAME: Nama cluster, yang harus unik dalam project. Nama harus diawali dengan huruf kecil, dan dapat berisi hingga 51 huruf kecil, angka, dan tanda hubung. Nama tidak boleh diakhiri dengan tanda hubung. Nama cluster yang dihapus dapat digunakan kembali.
- PROJECT_ID: Project yang akan dikaitkan dengan cluster.
- REGION: Region Compute Engine tempat cluster akan berada, seperti
us-central1
.- Anda dapat menambahkan tanda
--zone=ZONE
opsional untuk menentukan zona dalam region yang ditentukan, sepertius-central1-a
. Jika Anda tidak menentukan zona, fitur penempatan zona otomatis Dataproc akan memilih zona dengan region yang ditentukan.
- Anda dapat menambahkan tanda
- IMAGE: Pengoptimal Dataproc Spark dan peningkatan performa eksekusi tersedia di versi image Dataproc
2.0.69+
dan2.1.17+
serta rilis selanjutnya. Jika Anda menghapus tanda ini, Dataproc akan memilih versi subminor terbaru dari image Dataproc default di Compute Engine untuk cluster (lihat Versi image Dataproc default). PROPERTIES:
- Untuk mengaktifkan peningkatan pengoptimalan Spark, tentukan:
spark:spark.dataproc.enhanced.optimizer.enabled=true
- Untuk mengaktifkan peningkatan eksekusi Spark, tentukan:
spark:spark.dataproc.enhanced.execution.enabled=true
- Untuk mengaktifkan pengoptimalan dan peningkatan eksekusi Spark, tentukan:
spark:spark.dataproc.enhanced.optimizer.enabled=true,spark:spark.dataproc.enhanced.execution.enabled=true
Mengaktifkan peningkatan saat pengiriman tugas
Lakukan langkah-langkah berikut untuk mengaktifkan pengoptimalan Spark dan peningkatan eksekusi untuk tugas Spark. Secara default, peningkatan performa Dataproc Spark dinonaktifkan pada tugas Spark, kecuali jika Anda mengaktifkan peningkatan saat membuat cluster tugas atau mengaktifkannya untuk tugas tertentu.
Jalankan perintah gcloud dataproc jobs submit berikut secara lokal di jendela terminal atau di Cloud Shell.
gcloud dataproc jobs submit SPARK_JOB_TYPE \ --cluster=CLUSTER_NAME \ --region=REGION \ --properties=PROPERTIES
Catatan:
- SPARK_JOB_TYPE: Tentukan
spark
,pyspark
,spark-sql
, atauspark-r
. - CLUSTER_NAME: Nama tugas tempat tugas akan dijalankan.
- REGION: Region tempat cluster berada.
PROPERTIES:
- Untuk mengaktifkan peningkatan pengoptimalan Spark, tentukan:
spark.dataproc.enhanced.optimizer.enabled=true
- Untuk mengaktifkan peningkatan eksekusi Spark, tentukan:
spark.dataproc.enhanced.execution.enabled=true
- Untuk mengaktifkan pengoptimalan dan peningkatan eksekusi Spark, tentukan:
spark.dataproc.enhanced.optimizer.enabled=true,spark.dataproc.enhanced.execution.enabled
- SPARK_JOB_TYPE: Tentukan
API
Mengaktifkan peningkatan saat pembuatan cluster
Lakukan langkah-langkah berikut untuk mengaktifkan pengoptimalan Spark dan peningkatan eksekusi saat Anda membuat cluster Dataproc. Peningkatan yang diaktifkan tetap berlaku untuk semua tugas Spark yang dikirim ke cluster, kecuali jika Anda menonaktifkan peningkatan untuk tugas tertentu saat mengirimkan tugas. Secara default, peningkatan performa Dataproc Spark dinonaktifkan di cluster Dataproc.
Tentukan
SoftwareConfig.properties
berikut sebagai bagian dari permintaanclusters.create
:- Untuk mengaktifkan peningkatan pengoptimalan Spark, tentukan:
"spark:spark.dataproc.enhanced.optimizer.enabled": "true"
- Untuk mengaktifkan peningkatan eksekusi Spark, tentukan:
"spark:spark.dataproc.enhanced.execution.enabled": "true"
- Untuk mengaktifkan pengoptimalan dan peningkatan eksekusi Spark, tentukan:
"spark:spark.dataproc.enhanced.optimizer.enabled": "true","spark:spark.dataproc.enhanced.execution.enabled": "true"
Mengaktifkan peningkatan saat pengiriman tugas
Lakukan langkah-langkah berikut untuk mengaktifkan pengoptimalan Spark dan peningkatan eksekusi untuk tugas Spark. Secara default, peningkatan performa Dataproc Spark dinonaktifkan pada tugas Spark, kecuali jika Anda mengaktifkan peningkatan saat membuat cluster tugas atau mengaktifkannya untuk tugas tertentu.
Tentukan
properties
berikut untuk SparkJob, PySparkJob, SparkSqlJob, atau SparkRJob sebagai bagian dari permintaanjobs.submit
:- Untuk mengaktifkan peningkatan pengoptimalan Spark, tentukan:
"spark.dataproc.enhanced.optimizer.enabled=true"
- Untuk mengaktifkan peningkatan eksekusi Spark, tentukan:
"spark.dataproc.enhanced.execution.enabled=true"
- Untuk mengaktifkan pengoptimalan dan peningkatan eksekusi Spark, tentukan:
"spark.dataproc.enhanced.execution.enabled=true,spark.dataproc.enhanced.optimizer.enabled=true"