Unggah data ke Amazon S3 Express One Zone - Amazon EMR

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 sepertiGET,LIST, atau PUT pada objek S3, kelas penyimpanan memanggil CreateSession atas nama Anda. IAMKebijakan Anda harus mengizinkan s3express: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 untuk s3 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:

  1. Arahkan ke EMR konsol Amazon dan pilih Clusters dari sidebar. Kemudian pilih Buat cluster.

  2. Jika Anda menggunakan Spark, pilih EMR rilis Amazon emr-6.15.0 atau yang lebih tinggi. Jika Anda menggunakanHBase, Flink, atau Hive, pilih emr-7.2.0 atau lebih tinggi.

  3. Pilih aplikasi yang ingin Anda sertakan di cluster Anda, seperti Spark,HBase, atau Flink.

  4. 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" } } ]
  5. 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.

  6. 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

fs.s3a.aws.credentials.provider

Jika tidak ditentukan, gunakan AWSCredentialProviderList dalam urutan sebagai berikut:TemporaryAWSCredentialsProvider,SimpleAWSCredentialsProvider,EnvironmentVariableCredentialsProvider,IAMInstanceCredentialsProvider.

software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider

Peran profil EMR instans Amazon harus memiliki kebijakan yang memungkinkan sistem S3A file untuk memanggil. s3express:CreateSession Penyedia crendential lainnya juga berfungsi jika mereka memiliki izin S3 Express One Zone.

fs.s3a.endpoint.region

null

Di Wilayah AWS mana Anda membuat ember.

Logika resolusi wilayah tidak berfungsi dengan kelas penyimpanan S3 Express One Zone.

fs.s3a.select.enabled

true

false

Amazon S3 tidak select didukung dengan kelas penyimpanan S3 Express One Zone.

fs.s3a.change.detection.mode

server

none

Ubah deteksi dengan S3A bekerja dengan memeriksa MD5 berbasisetags. Kelas penyimpanan S3 Express One Zone tidak mendukung MD5checksums.

Sparkkonfigurasi

Parameter Nilai default Nilai yang disarankan Penjelasan

spark.sql.sources.fastS3PartitionDiscovery.enabled

true

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 S3A FileOutputCommitter 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