

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menyimpan data shuffle Spark
<a name="monitor-spark-shuffle-manager"></a>

Shuffling adalah langkah penting dalam pekerjaan Spark setiap kali data disusun ulang di antara partisi. Hal ini diperlukan karena transformasi yang luas seperti`join`,, ` groupByKey``reduceByKey`, dan `repartition` memerlukan informasi dari partisi lain untuk menyelesaikan pemrosesan. Spark mengumpulkan data yang diperlukan dari setiap partisi dan menggabungkannya menjadi partisi baru. Selama shuffle, data ditulis ke disk dan ditransfer ke seluruh jaringan. Akibatnya, operasi shuffle terikat pada kapasitas disk lokal. Spark melempar ` MetadataFetchFailedException` kesalahan `No space left on device` atau ketika tidak ada cukup ruang disk yang tersisa pada eksekutor dan tidak ada pemulihan.

**catatan**  
 AWS Glue Plugin Spark shuffle dengan Amazon S3 hanya didukung AWS Glue untuk pekerjaan ETL. 

**Solusi**  
DenganAWS Glue, Anda sekarang dapat menggunakan Amazon S3 untuk menyimpan data shuffle Spark menggunakan Plugin Cloud Shuffle Storage. Amazon S3 adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan di industri. Solusi ini memisahkan komputasi dan penyimpanan untuk pekerjaan Spark Anda, dan memberikan elastisitas lengkap dan penyimpanan shuffle berbiaya rendah, memungkinkan Anda menjalankan beban kerja paling intensif acak dengan andal.

![Spark Map Stage menulis ke disk, mengacak data ke S3, lalu Spark Reduce Stage membaca dari S3.](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/gs-s3-shuffle-diagram.png)


Anda dapat mengaktifkan pengocokan Amazon S3 untuk menjalankan AWS Glue pekerjaan dengan andal tanpa kegagalan jika diketahui terikat oleh kapasitas disk lokal untuk operasi pengocokan besar. Dalam beberapa kasus, pengocokan ke Amazon S3 sedikit lebih lambat daripada disk lokal (atau EBS) jika Anda memiliki sejumlah besar partisi kecil atau file acak yang ditulis ke Amazon S3.

## Prasyarat untuk menggunakan Plugin Cloud Shuffle Storage
<a name="monitor-spark-shuffle-manager-prereqs"></a>

 Untuk menggunakan Plugin Cloud Shuffle Storage dengan pekerjaan AWS Glue ETL, Anda memerlukan yang berikut ini: 
+ Bucket Amazon S3 yang terletak di wilayah yang sama dengan pekerjaan Anda, untuk menyimpan data acak dan tumpah perantara. Awalan penyimpanan shuffle Amazon S3 dapat ditentukan dengan`--conf spark.shuffle.glue.s3ShuffleBucket=s3://{{shuffle-bucket}}/{{prefix}}/`, seperti pada contoh berikut:

  ```
  --conf spark.shuffle.glue.s3ShuffleBucket=s3://glue-shuffle-123456789-us-east-1/glue-shuffle-data/
  ```
+  Tetapkan kebijakan siklus hidup penyimpanan Amazon S3 pada *awalan* (seperti`glue-shuffle-data`) karena pengelola acak tidak membersihkan file setelah pekerjaan selesai. Data shuffle dan tumpah perantara harus dihapus setelah pekerjaan selesai. Pengguna dapat menetapkan kebijakan siklus hidup singkat pada awalan. Petunjuk untuk menyiapkan kebijakan siklus hidup Amazon S3 tersedia di [Menyetel konfigurasi siklus hidup pada bucket di Panduan Pengguna Layanan Penyimpanan Sederhana](https://docs.aws.amazon.com//AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html) Amazon.

## Menggunakan AWS Glue Spark shuffle manager dari konsol AWS
<a name="monitor-spark-shuffle-manager-using-console"></a>

Untuk menyiapkan pengelola acak AWS Glue Spark menggunakan AWS Glue konsol atau AWS Glue Studio saat mengonfigurasi pekerjaan: pilih parameter pekerjaan **--write-shuffle-files-to-s3 untuk mengaktifkan pengocokan Amazon S3** untuk pekerjaan tersebut.

![Bagian parameter Job menunjukkan kunci write-shuffle-files dengan bidang nilai opsional dan tombol Remove.](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/gs-s3-shuffle.png)


## Menggunakan plugin AWS Glue Spark shuffle
<a name="monitor-spark-shuffle-manager-using"></a>

Parameter pekerjaan berikut menyala dan menyetel manajer AWS Glue acak. Parameter ini adalah bendera, jadi nilai apa pun yang diberikan tidak dipertimbangkan.

**penting**  
Untuk menonaktifkan pengocokan Amazon S3, Anda harus menghapus `--write-shuffle-files-to-s3` parameter sepenuhnya dari konfigurasi pekerjaan Anda. Menyetel nilai ke `false` tidak menonaktifkan pengocokan Amazon S3 — parameter bertindak sebagai tanda berbasis kehadiran, yang berarti bahwa nilai apa pun (termasuk) memungkinkan pengocokan `false` Amazon S3 saat parameter ada.
+ `--write-shuffle-files-to-s3`— Bendera utama, yang memungkinkan manajer shuffle AWS Glue Spark menggunakan bucket Amazon S3 untuk menulis dan membaca data shuffle. Ketika bendera tidak ditentukan, manajer acak tidak digunakan.
+ `--write-shuffle-spills-to-s3`— (Didukung hanya pada AWS Glue versi 2.0). Bendera opsional yang memungkinkan Anda membongkar file tumpahan ke bucket Amazon S3, yang memberikan ketahanan tambahan pada pekerjaan Spark Anda. Ini hanya diperlukan untuk beban kerja besar yang menumpahkan banyak data ke disk. Ketika bendera tidak ditentukan, tidak ada file tumpahan perantara yang ditulis.
+ ` --conf spark.shuffle.glue.s3ShuffleBucket=s3://<shuffle-bucket>`— Bendera opsional lain yang menentukan bucket Amazon S3 tempat Anda menulis file shuffle. Secara default, `--TempDir` /shuffle-data. AWS Glue 3.0\+ mendukung penulisan file shuffle ke beberapa bucket dengan menentukan bucket dengan pembatas koma, seperti pada. `--conf spark.shuffle.glue.s3ShuffleBucket=s3://{{shuffle-bucket-1}}/{{prefix}},s3://{{shuffle-bucket-2}}/{{prefix}}/` Menggunakan beberapa ember meningkatkan kinerja. 

Anda perlu menyediakan pengaturan konfigurasi keamanan untuk mengaktifkan enkripsi saat istirahat untuk data acak. Untuk informasi selengkapnya tentang konfigurasi keamanan, lihat[Menyiapkan enkripsi di AWS Glue](set-up-encryption.md). AWS Gluemendukung semua konfigurasi terkait shuffle lainnya yang disediakan oleh Spark.

**Binari perangkat lunak untuk plugin Cloud Shuffle Storage**  
Anda juga dapat mengunduh binari perangkat lunak Cloud Shuffle Storage Plugin untuk Apache Spark di bawah lisensi Apache 2.0 dan menjalankannya di lingkungan Spark apa pun. Plugin baru ini hadir dengan dukungan out-of-the box untuk Amazon S3, dan juga dapat dengan mudah dikonfigurasi untuk menggunakan bentuk penyimpanan cloud lainnya seperti Google Cloud Storage [dan Microsoft Azure Blob Storage](https://github.com/aws-samples/aws-glue-samples/blob/master/docs/cloud-shuffle-plugin/README.md). Untuk informasi selengkapnya, lihat [Plugin Cloud Shuffle Storage untuk Apache](https://docs.aws.amazon.com/glue/latest/dg/cloud-shuffle-storage-plugin.html) Spark.

**Catatan dan batasan**  
Berikut ini adalah catatan atau batasan untuk manajer AWS Glue acak:
+  AWS Glue pengelola acak tidak secara otomatis menghapus file data acak (sementara) yang disimpan di bucket Amazon S3 Anda setelah pekerjaan selesai. Untuk memastikan perlindungan data, ikuti petunjuk [Prasyarat untuk menggunakan Plugin Cloud Shuffle Storage](#monitor-spark-shuffle-manager-prereqs) sebelum mengaktifkan Plugin Cloud Shuffle Storage. 
+ Anda dapat menggunakan fitur ini jika data Anda miring.