Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Unggah data ke Amazon S3 Express One Zone
Gambaran Umum
Dengan Amazon EMR 6.15.0 dan yang lebih tinggi, Anda dapat menggunakan Amazon EMR dengan Apache Spark bersama dengan kelas penyimpanan Amazon S3 Express One Zone untuk meningkatkan kinerja pada pekerjaan Spark Anda. Amazon EMR merilis 7.2.0 dan lebih tinggi juga mendukungHBase, Flink, dan Hive, sehingga Anda juga bisa mendapatkan keuntungan dari S3 Express One Zone jika Anda menggunakan aplikasi ini. S3 Express One Zone adalah kelas penyimpanan S3 untuk aplikasi yang sering mengakses data dengan ratusan ribu permintaan per detik. Pada saat rilis, S3 Express One Zone memberikan latensi terendah dan penyimpanan objek cloud kinerja tertinggi di Amazon S3.
Prasyarat
-
Izin S3 Express One Zone — Ketika S3 Express One Zone awalnya melakukan tindakan seperti
GET
,LIST
, atauPUT
pada objek S3, kelas penyimpanan memanggilCreateSession
atas nama Anda. IAMKebijakan Anda harus mengizinkans3express:CreateSession
izin agar S3A konektor dapat memanggil.CreateSession
API Untuk contoh kebijakan dengan izin ini, lihatMemulai dengan Amazon S3 Express One Zone. -
S3Akonektor — Untuk mengonfigurasi cluster Spark Anda untuk mengakses data dari bucket Amazon S3 yang menggunakan kelas penyimpanan S3 Express One Zone, Anda harus menggunakan konektor Apache Hadoop. S3A Untuk menggunakan konektor, pastikan semua S3 URIs menggunakan
s3a
skema. Jika tidak, Anda dapat mengubah implementasi sistem file yang Anda gunakan untuks3
dan skema.s3n
Untuk mengubah s3
skema, tentukan konfigurasi cluster berikut:
[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Untuk mengubah s3n
skema, tentukan konfigurasi cluster berikut:
[ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Memulai dengan Amazon S3 Express One Zone
Buat kebijakan izin
Sebelum Anda dapat membuat klaster yang menggunakan Amazon S3 Express One Zone, Anda harus membuat IAM kebijakan untuk melampirkan ke profil EC2 instans Amazon untuk klaster. Kebijakan harus memiliki izin untuk mengakses kelas penyimpanan S3 Express One Zone. Contoh kebijakan berikut menunjukkan cara memberikan izin yang diperlukan. Setelah Anda membuat kebijakan, lampirkan kebijakan ke peran profil instance yang Anda gunakan untuk membuat EMR klaster, seperti yang dijelaskan di Buat dan konfigurasikan cluster Anda bagian.
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:
region-code
:account-id
:bucket/DOC-EXAMPLE-BUCKET", "Action": [ "s3express:CreateSession" ] } ] }
Buat dan konfigurasikan cluster Anda
Selanjutnya, buat cluster yang menjalankan Spark,, FlinkHBase, atau Hive dengan S3 Express One Zone. Langkah-langkah berikut menjelaskan ikhtisar tingkat tinggi untuk membuat cluster di AWS Management Console:
-
Arahkan ke EMR konsol Amazon dan pilih Clusters dari sidebar. Kemudian pilih Buat cluster.
-
Jika Anda menggunakan Spark, pilih EMR rilis Amazon
emr-6.15.0
atau yang lebih tinggi. Jika Anda menggunakanHBase, Flink, atau Hive, pilihemr-7.2.0
atau lebih tinggi. -
Pilih aplikasi yang ingin Anda sertakan di cluster Anda, seperti Spark,HBase, atau Flink.
-
Untuk mengaktifkan Amazon S3 Express One Zone, masukkan konfigurasi yang mirip dengan contoh berikut di bagian Pengaturan perangkat lunak. Konfigurasi dan nilai yang direkomendasikan dijelaskan di Ikhtisar konfigurasi bagian yang mengikuti prosedur ini.
[ { "Classification": "core-site", "Properties": { "fs.s3a.aws.credentials.provider": "software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider", "fs.s3a.change.detection.mode": "none", "fs.s3a.endpoint.region": "
aa-example-1
", "fs.s3a.select.enabled": "false" } }, { "Classification": "spark-defaults", "Properties": { "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false" } } ] -
Di EMR bagian profil EC2 instans untuk Amazon, pilih untuk menggunakan peran yang ada, dan gunakan peran dengan kebijakan terlampir yang Anda buat di Buat kebijakan izin bagian di atas.
-
Konfigurasikan setelan klaster lainnya yang sesuai untuk aplikasi Anda, lalu pilih Buat klaster.
Ikhtisar konfigurasi
Tabel berikut menjelaskan konfigurasi dan nilai yang disarankan yang harus Anda tentukan saat menyiapkan klaster yang menggunakan S3 Express One Zone dengan AmazonEMR, seperti yang dijelaskan di bagianBuat dan konfigurasikan cluster Anda.
S3Akonfigurasi
Parameter | Nilai default | Nilai yang disarankan | Penjelasan |
---|---|---|---|
|
Jika tidak ditentukan, gunakan |
|
Peran profil EMR instans Amazon harus memiliki kebijakan yang memungkinkan sistem S3A file untuk memanggil. |
|
null |
Di Wilayah AWS mana Anda membuat ember. |
Logika resolusi wilayah tidak berfungsi dengan kelas penyimpanan S3 Express One Zone. |
|
|
|
Amazon S3 tidak |
|
|
none |
Ubah deteksi dengan S3A bekerja dengan memeriksa MD5 berbasis |
Sparkkonfigurasi
Parameter | Nilai default | Nilai yang disarankan | Penjelasan |
---|---|---|---|
|
|
false
|
Optimalisasi internal menggunakan API parameter S3 yang tidak didukung oleh kelas penyimpanan S3 Express One Zone. |
Pertimbangan
Pertimbangkan hal berikut saat Anda mengintegrasikan Apache Spark di Amazon EMR dengan kelas penyimpanan S3 Express One Zone:
-
Amazon S3 Express One Zone didukung dengan EMR rilis Amazon 6.15.0 dan lebih tinggi.
-
Konektor S3A diperlukan untuk menggunakan S3 Express One Zone dengan Amazon. EMR Hanya S3A yang memiliki fitur dan kelas penyimpanan yang diperlukan untuk berinteraksi dengan S3 Express One Zone. Untuk langkah-langkah untuk mengatur konektor, lihatPrasyarat.
-
Kelas penyimpanan Amazon S3 Express One Zone hanya didukung dengan Spark di EMR cluster Amazon yang berjalan di Amazon. EC2
-
Kelas penyimpanan Amazon S3 Express One Zone hanya mendukung SSE-S3 enkripsi. Untuk informasi selengkapnya, lihat Enkripsi sisi server dengan kunci terkelola Amazon S3 (-S3). SSE
-
Kelas penyimpanan Amazon S3 Express One Zone tidak mendukung penulisan dengan S3A.
FileOutputCommitter
Menulis dengan S3AFileOutputCommitter
pada bucket S3 Express One Zone menghasilkan kesalahan:. InvalidStorageClass: The storage class you specified is not valid -
Kelas penyimpanan Amazon S3 Express One Zone tidak didukung dengan Amazon EMR Tanpa Server atau Amazon aktif. EMR EKS