Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Plugin Cloud Shuffle Storage adalah plugin Apache Spark yang kompatibel dengan ShuffleDataIO
APIjoin
,, groupByKey
dan repartition
dalam aplikasi Spark AndareduceByKey
, sehingga mengurangi kegagalan umum atau dislokasi harga/kinerja pekerjaan analitik data tanpa server Anda dan pipeline.
AWS Glue
AWS Glueversi 3.0 dan 4.0 dilengkapi dengan plugin yang sudah diinstal sebelumnya dan siap untuk mengaktifkan pengocokan ke Amazon S3 tanpa langkah tambahan. Untuk informasi selengkapnya, lihat Plugin AWS Glue Spark shuffle dengan Amazon S3 untuk mengaktifkan fitur untuk aplikasi Spark Anda.
Lingkungan Spark lainnya
Plugin ini memerlukan konfigurasi Spark berikut untuk disetel di lingkungan Spark lainnya:
--conf spark.shuffle.sort.io.plugin.class=com.amazonaws.spark.shuffle.io.cloud.ChopperPlugin
: Ini menginformasikan Spark untuk menggunakan plugin ini untuk Shuffle IO.--conf spark.shuffle.storage.path=s3://
: Jalur tempat file shuffle Anda akan disimpan.bucket-name
/shuffle-file-dir
catatan
Plugin menimpa satu kelas inti Spark. Akibatnya, toples plugin perlu dimuat sebelum stoples Spark. Anda dapat melakukan ini menggunakan userClassPathFirst
di lingkungan YARN on-prem jika plugin digunakan di luar. AWS Glue
Bundling plugin dengan aplikasi Spark Anda
Anda dapat menggabungkan plugin dengan aplikasi Spark dan distribusi Spark Anda (versi 3.1 ke atas) dengan menambahkan ketergantungan plugin di Maven Anda pom.xml
sambil mengembangkan aplikasi Spark Anda secara lokal. Untuk informasi lebih lanjut tentang plugin dan versi Spark, lihatVersi plugin.
<repositories>
...
<repository>
<id>aws-glue-etl-artifacts</id>
<url>https://aws-glue-etl-artifacts.s3.amazonaws.com/release/ </url>
</repository>
</repositories>
...
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>chopper-plugin</artifactId>
<version>3.1-amzn-LATEST</version>
</dependency>
Anda dapat mengunduh binari dari artefak AWS Glue Maven secara langsung dan memasukkannya ke dalam aplikasi Spark Anda sebagai berikut.
#!/bin/bash
sudo wget -v https://aws-glue-etl-artifacts.s3.amazonaws.com/release/com/amazonaws/chopper-plugin/3.1-amzn-LATEST/chopper-plugin-3.1-amzn-LATEST.jar -P /usr/lib/spark/jars/
Contoh spark-submit
spark-submit --deploy-mode cluster \ --conf spark.shuffle.storage.s3.path=s3://<ShuffleBucket>/<shuffle-dir> \ --conf spark.driver.extraClassPath=
<Path to plugin jar>
\ --conf spark.executor.extraClassPath=<Path to plugin jar>
\ --class <your test class name> s3://<ShuffleBucket>
/<Your application jar>
\
Konfigurasi opsional
Ini adalah nilai konfigurasi opsional yang mengontrol perilaku shuffle Amazon S3.
spark.shuffle.storage.s3.enableServerSideEncryption
: Aktifkan/nonaktifkan S3 SSE untuk mengacak dan menumpahkan file. Nilai defaultnya adalahtrue
.spark.shuffle.storage.s3.serverSideEncryption.algorithm
: Algoritma SSE yang akan digunakan. Nilai defaultnya adalahAES256
.spark.shuffle.storage.s3.serverSideEncryption.kms.key
: ARN kunci KMS saat SSE aws:kms diaktifkan.
Seiring dengan konfigurasi ini, Anda mungkin perlu mengatur konfigurasi seperti spark.hadoop.fs.s3.enableServerSideEncryption
dan konfigurasi khusus lingkungan lainnya untuk memastikan enkripsi yang sesuai diterapkan untuk kasus penggunaan Anda.
Versi plugin
Plugin ini didukung untuk versi Spark yang terkait dengan setiap AWS Glue versi. Tabel berikut menunjukkan AWS Glue versi, versi Spark dan versi plugin terkait dengan lokasi Amazon S3 untuk biner perangkat lunak plugin.
Versi AWS Glue | Versi Spark | Versi plugin | Lokasi Amazon S3 |
---|---|---|---|
3.0 | 3.1 | 3.1-AMZN-Terbaru |
s3://aws-glue-etl-artifacts/rilis/com/amazonaws/chopper-plugin/3.1-amzn-0/chopper-plugin-3.1-amzn-terbaru.jar |
4.0 | 3.3 | 3.3-AMZN-Terbaru |
s3://aws-glue-etl-artifacts/rilis/com/amazonaws/chopper-plugin/3.3-AMZN-0/chopper-plugin-3.3-AMZN-terbaru.jar |
Lisensi
Biner perangkat lunak untuk plugin ini dilisensikan di bawah Lisensi Apache-2.0.