Dapatkan data ke S3 Express One Zone dengan Tanpa Server EMR - Amazon EMR

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

Dapatkan data ke S3 Express One Zone dengan Tanpa Server EMR

Dengan Amazon EMR merilis 7.2.0 dan yang lebih tinggi, Anda dapat menggunakan EMR Tanpa Server dengan kelas penyimpanan Amazon S3 Express One Zone untuk meningkatkan kinerja saat menjalankan pekerjaan dan beban kerja. S3 Express One Zone adalah kelas penyimpanan Amazon S3 zona tunggal berkinerja tinggi yang memberikan akses data milidetik satu digit yang konsisten untuk sebagian besar aplikasi yang sensitif terhadap latensi. 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 sehingga S3A konektor dapat memanggil. CreateSession API Untuk contoh kebijakan dengan izin ini, lihatMemulai dengan S3 Express One Zone.

  • S3A konektor - Untuk mengonfigurasi Spark 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 S3 Express One Zone

Ikuti langkah-langkah ini untuk memulai dengan S3 Express One Zone.

  1. Buat VPC titik akhir. Tambahkan titik akhir com.amazonaws.us-west-2.s3express ke titik VPC akhir.

  2. Ikuti Memulai Amazon EMR Tanpa Server untuk membuat aplikasi dengan label EMR rilis Amazon 7.2.0 atau lebih tinggi.

  3. Konfigurasikan aplikasi Anda untuk menggunakan VPC endpoint yang baru dibuat, grup subnet pribadi, dan grup keamanan.

  4. Tambahkan CreateSession izin ke peran eksekusi pekerjaan Anda.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "*", "Action": [ "s3express:CreateSession" ] } ] }
  5. Jalankan pekerjaan Anda. Perhatikan bahwa Anda harus menggunakan S3A skema untuk mengakses bucket S3 Express One Zone.

    aws emr-serverless start-job-run \ --application-id <application-id> \ --execution-role-arn <job-role-arn> \ --name <job-run-name> \ --job-driver '{ "sparkSubmit": { "entryPoint": "s3a://<DOC-EXAMPLE-BUCKET>/scripts/wordcount.py", "entryPointArguments":["s3a://<DOC-EXAMPLE-BUCKET>/emr-serverless-spark/output"], "sparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=8g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=2 --conf spark.hadoop.fs.s3a.change.detection.mode=none --conf spark.hadoop.fs.s3a.endpoint.region={<AWS_REGION>} --conf spark.hadoop.fs.s3a.select.enabled=false --conf spark.sql.sources.fastS3PartitionDiscovery.enabled=false }'