

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

# Siapkan data input untuk diproses dengan Amazon EMR
<a name="emr-plan-input"></a>

Sebagian besar klaster memuat data input kemudian memproses data tersebut. Untuk memuat data, data harus berada di lokasi yang mana dapat diakses oleh klaster dan dalam format yang dapat diproses oleh klaster. Skenario yang paling umum adalah mengunggah data input ke Amazon S3. Amazon EMR menyediakan alat untuk klaster Anda yang mana digunakan mengimpor atau membaca data dari Amazon S3.

Format input default dalam Hadoop adalah file teks, meskipun Anda dapat menyesuaikan Hadoop dan menggunakan alat untuk mengimpor data yang disimpan dalam format lain. 

**Topics**
+ [Jenis input yang dapat diterima Amazon EMR](emr-plan-input-accept.md)
+ [Berbagai cara untuk mendapatkan data ke Amazon EMR](emr-plan-get-data-in.md)

# Jenis input yang dapat diterima Amazon EMR
<a name="emr-plan-input-accept"></a>

Format input default untuk klaster adalah file teks dengan setiap baris dipisahkan oleh karakter baris baru (\$1n), yang merupakan format input yang paling sering digunakan. 

Jika data input Anda dalam format selain file teks default, Anda bisa menggunakan antarmuka Hadoop `InputFormat` untuk menentukan jenis input lainnya. Anda bahkan dapat membuat subkelas dari kelas `FileInputFormat` untuk menangani jenis data khusus. Untuk informasi lebih lanjut, lihat [http://hadoop.apache. org/docs/current/api/org/apache/hadoop/mapred/InputFormat.html](http://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/InputFormat.html). 

Jika Anda menggunakan Hive, Anda dapat menggunakan serializer/deserializer (SerDe) untuk membaca data dari format tertentu ke HDFS. Untuk informasi lebih lanjut, lihat [https://cwiki.apache. org/confluence/display/Hive/SerDe](https://cwiki.apache.org/confluence/display/Hive/SerDe). 

# Berbagai cara untuk mendapatkan data ke Amazon EMR
<a name="emr-plan-get-data-in"></a>

Amazon EMR menyediakan beberapa cara untuk memasukkan data ke dalam klaster. Cara paling umum adalah dengan mengunggah data ke Amazon S3 dan menggunakan fitur bawaan Amazon EMR untuk mengunggah data ke klaster Anda. Anda juga dapat menggunakan DistributedCache fitur Hadoop untuk mentransfer file dari sistem file terdistribusi ke sistem file lokal. Implementasi Hive yang disediakan oleh Amazon EMR (Hive versi 0.7.1.1 dan yang lebih baru) mencakup fungsionalitas yang dapat Anda gunakan untuk mengimpor dan mengekspor data antara DynamoDB dan klaster Amazon EMR. Jika Anda memiliki data lokal dalam jumlah besar untuk diproses, Anda mungkin merasa jika layanan Direct Connect ini berguna. 

**Topics**
+ [Mengunggah data ke Amazon S3](emr-plan-upload-s3.md)
+ [Unggah data dengan AWS DataSync](emr-plan-upload-datasync.md)
+ [Impor file dengan cache terdistribusi dengan Amazon EMR](emr-plan-input-distributed-cache.md)
+ [Mendeteksi dan memproses file terkompresi dengan Amazon EMR](HowtoProcessGzippedFiles.md)
+ [Impor data DynamoDB ke Hive dengan Amazon EMR](emr-plan-input-dynamodb.md)
+ [Connect ke data dengan AWS Direct Connect dari Amazon EMR](emr-plan-input-directconnect.md)
+ [Unggah data dalam jumlah besar untuk Amazon EMR dengan AWS Snowball Edge](emr-plan-input-snowball.md)

# Mengunggah data ke Amazon S3
<a name="emr-plan-upload-s3"></a>

Untuk informasi tentang cara mengunggah objek ke Amazon S3, lihat [Menambahkan objek ke bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PuttingAnObjectInABucket.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*. [Untuk informasi selengkapnya tentang penggunaan Amazon S3 dengan Hadoop, lihat http://wiki.apache. org/hadoop/AmazonS](http://wiki.apache.org/hadoop2/AmazonS3)3. 

**Topics**
+ [Buat dan konfigurasikan bucket Amazon S3](#create-s3-bucket-input)
+ [Mengonfigurasi unggahan multipart untuk Amazon S3](#Config_Multipart)
+ [Praktik terbaik](#emr-bucket-bestpractices)
+ [Unggah data ke Amazon S3 Express One Zone](emr-express-one-zone.md)

## Buat dan konfigurasikan bucket Amazon S3
<a name="create-s3-bucket-input"></a>

Amazon EMR menggunakan Amazon S3 untuk menyimpan data input, file log, dan data output. AWS SDK untuk Java Amazon S3 mengacu pada lokasi penyimpanan ini sebagai *bucket*. Bucket memiliki pembatasan dan batasan tertentu agar sesuai dengan persyaratan Amazon S3 dan DNS. Untuk informasi selengkapnya, lihat [Pembatasan dan batasan Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

Bagian ini menunjukkan cara menggunakan Amazon S3 Konsol Manajemen AWS untuk membuat dan kemudian mengatur izin untuk bucket Amazon S3. Anda juga dapat membuat dan mengatur izin untuk bucket Amazon S3 menggunakan API Amazon S3 atau AWS CLI. Anda juga bisa menggunakan curl bersama dengan modifikasi untuk meneruskan parameter autentikasi yang sesuai bagi Amazon S3.

Lihat sumber daya berikut:
+ Untuk membuat bucket menggunakan konsol, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket.html) di *Panduan Pengguna Amazon S3*.
+ Untuk membuat dan bekerja dengan bucket menggunakan AWS CLI, lihat [Menggunakan perintah S3 tingkat tinggi dengan AWS Command Line Interface di Panduan Pengguna](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-s3-commands.html) *Amazon* S3.
+ Untuk membuat bucket menggunakan SDK, lihat [Contoh membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-get-location-example.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.
+ Untuk bekerja dengan bucket menggunakan curl, lihat [alat autentikasi Amazon S3 untuk curl](https://aws.amazon.com/code/amazon-s3-authentication-tool-for-curl/).
+ Untuk informasi selengkapnya tentang menentukan bucket khusus Wilayah, lihat [Mengakses bucket di](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html#access-bucket-intro) Panduan Pengguna Layanan Penyimpanan *Sederhana Amazon*.
+ *Untuk bekerja dengan bucket menggunakan Titik Akses Amazon S3, [lihat Menggunakan alias gaya ember untuk titik akses Anda di](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-alias.html) Panduan Pengguna Amazon S3.* Anda dapat dengan mudah menggunakan Titik Akses Amazon S3 dengan Alias Titik Akses Amazon S3 alih-alih nama bucket Amazon S3. Anda dapat menggunakan Alias Titik Akses Amazon S3 untuk aplikasi yang ada dan yang baru, termasuk Spark, Hive, Presto, dan lainnya.

**catatan**  
Jika Anda mengaktifkan pencatatan log untuk bucket, ini hanya mengaktifkan log akses bucket, bukan log klaster Amazon EMR. 

Selama pembuatan bucket atau setelahnya, Anda dapat mengatur izin yang sesuai untuk mengakses bucket, bergantung pada aplikasi Anda. Biasanya, Anda memberi diri Anda (pemilik) akses baca dan tulis dan memberi akses baca untuk pengguna yang diautentikasi.

Bucket Amazon S3 yang diperlukan harus ada sebelum Anda dapat membuat klaster. Anda harus mengunggah skrip atau data yang diperlukan yang dimaksud dalam klaster ke Amazon S3. 

## Mengonfigurasi unggahan multipart untuk Amazon S3
<a name="Config_Multipart"></a>

Amazon EMR mendukung unggahan multipart Amazon S3 melalui SDK AWS for Java. Unggahan multipart memungkinkan Anda mengunggah satu objek ke dalam beberapa bagian. Anda dapat mengunggah bagian-bagian objek tersebut secara independen dan dengan urutan apa pun. Jika ada transmisi bagian mana pun yang gagal, Anda dapat mentransmisikan ulang bagian tersebut tanpa memengaruhi bagian lainnya. Setelah semua bagian objek Anda diunggah, Amazon S3 merakit bagian-bagian tersebut dan menciptakan objek.

Untuk informasi selengkapnya, lihat [Ikhtisar unggahan multibagian](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

Selain itu, Amazon EMR menawarkan properti yang memungkinkan Anda mengontrol pembersihan bagian unggahan multipart yang gagal dengan lebih tepat.

Tabel berikut menjelaskan properti konfigurasi Amazon EMR untuk unggahan multipart. Anda dapat mengonfigurasi `core-site` menggunakan klasifikasi konfigurasi. Untuk informasi selengkapnya, lihat [Konfigurasi aplikasi](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/configure-apps.html) di *Panduan Rilis Amazon EMR*.


| Nama parameter konfigurasi | Nilai default | Deskripsi | 
| --- | --- | --- | 
| fs.s3n.multipart.uploads.enabled | true | Jenis Boolean yang menunjukkan apakah akan mengaktifkan unggahan multipart. Ketika tampilan konsisten EMRFS diaktifkan, unggahan multibagian diaktifkan secara default dan pengaturan nilai ini diabaikan. false | 
| fs.s3n.multipart.uploads.split.size | 134217728 | Menentukan ukuran maksimum dari bagian, dalam byte, sebelum EMRFS memulai pengunggahan bagian baru saat unggahan multipart diaktifkan. Nilai minimumnya adalah `5242880` (5 MB). Jika nilai yang lebih rendah ditentukan, `5242880` digunakan. Maksimumnya adalah `5368709120` (5 GB). Jika nilai yang lebih besar ditentukan, `5368709120` digunakan. Jika enkripsi di sisi klien EMRFS dinonaktifkan dan Amazon S3 Optimized Committer juga dinonaktifkan, nilai ini juga mengontrol ukuran maksimum yang dapat dikembangkan file data hingga EMRFS menggunakan unggahan multipart alih-alih permintaan `PutObject` untuk mengunggah file. Untuk informasi selengkapnya, lihat  | 
| fs.s3n.ssl.enabled | true | Jenis Boolean yang menunjukkan apakah akan menggunakan http atau https.  | 
| fs.s3.buckets.create.enabled | false | Jenis Boolean yang menunjukkan apakah bucket harus dibuat jika tidak ada. Mengatur ke false menyebabkan pengecualian pada CreateBucket operasi. | 
| fs.s3.multipart.clean.enabled | false | Jenis Boolean yang menunjukkan apakah akan mengaktifkan pembersihan berkala latar belakang dari unggahan multipart yang tidak lengkap. | 
| fs.s3.multipart.clean.age.threshold | 604800 | Jenis panjang yang menentukan usia minimum dari unggahan multipart, dalam hitungan detik, sebelum dipertimbangkan untuk dibersihkan. Default adalah satu minggu. | 
| fs.s3.multipart.clean.jitter.max | 10000 | Jenis integer yang menentukan jumlah maksimum penundaan jitter acak dalam detik yang ditambahkan ke penundaan tetap 15 menit sebelum menjadwalkan putaran pembersihan berikutnya. | 

### Nonaktifkan unggahan multipart
<a name="emr-dev-multipart-upload"></a>

------
#### [ Console ]

**Untuk menonaktifkan unggahan multibagian dengan konsol**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol EMR Amazon di https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. **Di bawah **EMR pada EC2** di panel navigasi kiri, pilih Clusters, lalu pilih **Create cluster**.**

1. Di bawah **Pengaturan perangkat lunak**, masukkan konfigurasi berikut:`classification=core-site,properties=[fs.s3n.multipart.uploads.enabled=false]`.

1. Pilih opsi lain yang berlaku untuk cluster Anda. 

1. Untuk meluncurkan klaster Anda, pilih **Buat klaster**.

------
#### [ CLI ]

**Untuk menonaktifkan unggahan multipart menggunakan AWS CLI**

Prosedur ini menjelaskan cara menonaktifkan unggahan multipart dengan menggunakan file AWS CLI. Untuk menonaktifkan unggahan multipart, ketik perintah `create-cluster` dengan parameter `--bootstrap-actions`. 

1. Buat file, `myConfig.json`, dengan konten berikut kemudian simpan di direktori yang sama di mana Anda menjalankan perintah:

   ```
   [
     {
       "Classification": "core-site",
       "Properties": {
         "fs.s3n.multipart.uploads.enabled": "false"
       }
     }
   ]
   ```

1. Ketik perintah berikut dan ganti *myKey* dengan nama key pair EC2 Anda.
**catatan**  
Karakter lanjutan baris Linux (\$1) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

   ```
   1. aws emr create-cluster --name "Test cluster" \
   2. --release-label emr-7.12.0 --applications Name=Hive Name=Pig \
   3. --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \
   4. --instance-count 3 --configurations file://myConfig.json
   ```

------
#### [ API ]

**Untuk menonaktifkan unggahan multibagian menggunakan API**
+ *Untuk informasi tentang penggunaan unggahan multipart Amazon S3 secara terprogram, lihat Menggunakan SDK [for Java untuk upload multipart di AWS Panduan Pengguna Layanan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMPDotJavaAPI.html) Penyimpanan Sederhana Amazon.*

  Untuk informasi selengkapnya tentang AWS SDK for Java, [AWS lihat SDK](https://aws.amazon.com/sdkforjava/) for Java.

------

## Praktik terbaik
<a name="emr-bucket-bestpractices"></a>

Berikut ini adalah rekomendasi untuk menggunakan bucket Amazon S3 dengan klaster EMR.

### Aktifkan versioning
<a name="emr-enable-versioning"></a>

Versioning adalah konfigurasi yang direkomendasikan untuk bucket Amazon S3. Dengan mengaktifkan versioning, dapat dipastikan bahwa jika data Anda tidak sengaja dihapus atau ditimpa, data tersebut masih dapat dipulihkan. Untuk informasi selengkapnya, lihat [Menggunakan versi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

### Bersihkan unggahan multipart yang gagal
<a name="emr-multipart-cleanup"></a>

Komponen cluster EMR menggunakan unggahan multipart melalui SDK for AWS Java dengan Amazon S3 untuk menulis file log dan data keluaran ke Amazon APIs S3 secara default. Untuk informasi tentang mengubah properti yang terkait dengan konfigurasi ini menggunakan Amazon EMR, lihat [Mengonfigurasi unggahan multipart untuk Amazon S3](#Config_Multipart). Terkadang unggahan file besar dapat mengakibatkan unggahan multipart Amazon S3 menjadi tidak lengkap. Jika unggahan multipart tidak berhasil diselesaikan, unggahan multipart yang sedang berlangsung akan terus menempati bucket Anda dan menimbulkan biaya penyimpanan. Kami merekomendasikan opsi berikut untuk menghindari penyimpanan file yang berlebihan:
+ Untuk bucket yang Anda gunakan dengan Amazon EMR, gunakan aturan konfigurasi siklus hidup di Amazon S3 untuk menghapus unggahan multipart yang tidak lengkap tiga hari setelah tanggal inisiasi unggahan. Aturan konfigurasi siklus hidup memungkinkan Anda mengontrol kelas penyimpanan dan masa pakai objek. Untuk informasi selengkapnya, lihat [Manajemen siklus hidup objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html), dan [Membatalkan unggahan multipart yang tidak lengkap menggunakan kebijakan siklus hidup bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config).
+ Aktifkan fitur pembersihan multipart Amazon EMR dengan mengatur `fs.s3.multipart.clean.enabled` ke `true` dan menyetel parameter pembersihan lainnya. Fitur ini berguna pada volume tinggi, skala besar, dan klaster yang memiliki waktu aktif terbatas. Dalam hal ini, parameter `DaysAfterIntitiation` dari aturan konfigurasi siklus hidup mungkin terlalu panjang, bahkan jika diatur ke minimum, yang menyebabkan lonjakan penyimpanan Amazon S3. Pembersihan multipart Amazon EMR memungkinkan kontrol yang lebih presisi. Untuk informasi selengkapnya, lihat [Mengonfigurasi unggahan multipart untuk Amazon S3](#Config_Multipart). 

### Mengelola penanda versi
<a name="w2aac28c11c17c11b7c11b9"></a>

Kami menyarankan Anda mengaktifkan aturan konfigurasi siklus hidup di Amazon S3 untuk menghapus delete marker objek kedaluwarsa pada bucket berversi yang Anda gunakan dengan Amazon EMR. Saat menghapus objek dalam bucket berversi, delete marker akan dibuat. Jika semua versi objek sebelumnya kemudian kedaluwarsa, delete marker objek yang kedaluwarsa akan tertinggal di bucket. Meskipun Anda tidak dikenakan biaya untuk menghapus penanda, menghapus penanda yang kedaluwarsa dapat meningkatkan kinerja permintaan LIST. Untuk informasi selengkapnya, lihat [Konfigurasi Siklus Hidup untuk bucket dengan pembuatan versi di Panduan Pengguna](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-bucket-with-versioning.html) Layanan Penyimpanan Sederhana Amazon.

### Praktik terbaik kinerja
<a name="w2aac28c11c17c11b7c11c11"></a>

Bergantung pada beban kerja Anda, jenis penggunaan tertentu dari klaster EMR dan aplikasi pada klaster tersebut dapat mengakibatkan jumlah permintaan yang tinggi terhadap bucket. Untuk informasi selengkapnya, lihat [Pertimbangan tingkat permintaan dan performa](https://docs.aws.amazon.com/AmazonS3/latest/userguide/request-rate-perf-considerations.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*. 

# Unggah data ke Amazon S3 Express One Zone
<a name="emr-express-one-zone"></a>

## Ikhtisar
<a name="emr-express-one-zone-overview"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html) Anda. Amazon EMR merilis 7.2.0 dan yang lebih tinggi juga mendukung HBase, 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
<a name="emr-express-one-zone-prereqs"></a>
+ **Izin S3 Express One Zone** — Ketika S3 Express One Zone awalnya melakukan tindakan seperti`GET`,`LIST`, atau `PUT` pada objek S3, kelas penyimpanan memanggil `CreateSession` atas nama Anda. Kebijakan IAM Anda harus mengizinkan `s3express:CreateSession` izin agar S3A konektor dapat menjalankan API. `CreateSession` Untuk contoh kebijakan dengan izin ini, lihat[Memulai dengan Amazon S3 Express One Zone](#emr-express-one-zone-start).
+ **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
<a name="emr-express-one-zone-start"></a>

**Topics**
+ [Buat kebijakan izin](#emr-express-one-zone-permissions)
+ [Buat dan konfigurasikan cluster Anda](#emr-express-one-zone-create)
+ [Ikhtisar konfigurasi](#emr-express-one-zone-configs)

### Buat kebijakan izin
<a name="emr-express-one-zone-permissions"></a>

Sebelum Anda dapat membuat klaster yang menggunakan Amazon S3 Express One Zone, Anda harus membuat kebijakan IAM untuk melampirkan ke profil instans Amazon EC2 untuk cluster. Kebijakan harus memiliki izin untuk mengakses kelas penyimpanan S3 Express One Zone. Contoh kebijakan berikut menunjukkan cara memberikan izin yang diperlukan. Setelah membuat kebijakan, lampirkan kebijakan ke peran profil instance yang Anda gunakan untuk membuat klaster EMR, seperti yang dijelaskan di bagian ini[Buat dan konfigurasikan cluster Anda](#emr-express-one-zone-create).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3express:*:123456789012:bucket/example-s3-bucket"
      ],
      "Action": [
        "s3express:CreateSession"
      ],
      "Sid": "AllowS3EXPRESSCreatesession"
    }
  ]
}
```

------

### Buat dan konfigurasikan cluster Anda
<a name="emr-express-one-zone-create"></a>

Selanjutnya, buat cluster yang menjalankan Spark,, Flink HBase, atau Hive dengan S3 Express One Zone. Langkah-langkah berikut menjelaskan ikhtisar tingkat tinggi untuk membuat cluster di Konsol Manajemen AWS:

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

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

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

1. 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](#emr-express-one-zone-configs) 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"
       }
     }
   ]
   ```

1. Di bagian **profil instans EC2 untuk Amazon EMR**, pilih untuk menggunakan peran yang ada, dan gunakan peran dengan kebijakan terlampir yang Anda buat di bagian di [Buat kebijakan izin](#emr-express-one-zone-permissions) atas.

1. Konfigurasikan setelan klaster lainnya yang sesuai untuk aplikasi Anda, lalu pilih **Buat klaster**.

### Ikhtisar konfigurasi
<a name="emr-express-one-zone-configs"></a>

Tabel berikut menjelaskan konfigurasi dan nilai yang disarankan yang harus Anda tentukan saat menyiapkan klaster yang menggunakan S3 Express One Zone dengan Amazon EMR, seperti yang dijelaskan di bagian. [Buat dan konfigurasikan cluster Anda](#emr-express-one-zone-create)

**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`.  |  <pre>software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider</pre>  |  Peran profil instans EMR Amazon harus memiliki kebijakan yang memungkinkan S3A sistem 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 berbasis`etags`. Kelas penyimpanan S3 Express One Zone tidak mendukung MD5`checksums`.  | 

**Sparkkonfigurasi**


| Parameter | Nilai default | Nilai yang disarankan | Penjelasan | 
| --- | --- | --- | --- | 
|  `spark.sql.sources.fastS3PartitionDiscovery.enabled`  |  `true`  |  false  |  Pengoptimalan internal menggunakan parameter API S3 yang tidak didukung oleh kelas penyimpanan S3 Express One Zone.  | 

**Hivekonfigurasi**


| Parameter | Nilai default | Nilai yang disarankan | Penjelasan | 
| --- | --- | --- | --- | 
|  `hive.exec.fast.s3.partition.discovery.enabled`  |  `true`  |  false  |  Pengoptimalan internal menggunakan parameter API S3 yang tidak didukung oleh kelas penyimpanan S3 Express One Zone.  | 

## Pertimbangan-pertimbangan
<a name="emr-express-one-zone-considerations"></a>

Pertimbangkan hal berikut saat Anda mengintegrasikan Apache Spark di Amazon EMR dengan kelas penyimpanan S3 Express One Zone:
+ 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, lihat[Prasyarat](#emr-express-one-zone-prereqs).
+ Kelas penyimpanan Amazon S3 Express One Zone mendukung SSE-S3 dan SSE-KMS enkripsi. Untuk informasi selengkapnya, lihat [Enkripsi sisi server dengan Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-data-protection.html#s3-express-ecnryption).
+ 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*
+ Amazon S3 Express One Zone didukung dengan Amazon EMR rilis 6.15.0 dan lebih tinggi pada EMR di EC2. Selain itu, ini didukung pada Amazon EMR rilis 7.2.0 dan lebih tinggi di Amazon EMR di EKS dan di Amazon EMR Tanpa Server.

# Unggah data dengan AWS DataSync
<a name="emr-plan-upload-datasync"></a>

AWS DataSync adalah layanan transfer data online yang menyederhanakan, mengotomatiskan, dan mempercepat proses pemindahan data antara layanan penyimpanan dan penyimpanan lokal Anda atau di antara layanan AWS penyimpanan. AWS DataSync mendukung berbagai sistem penyimpanan lokal seperti Hadoop Distributed File System (HDFS), server file NAS, dan penyimpanan objek yang dikelola sendiri.

Cara paling umum untuk mendapatkan data ke cluster adalah dengan mengunggah data ke Amazon S3 dan menggunakan fitur bawaan Amazon EMR untuk memuat data ke cluster Anda.

DataSync dapat membantu Anda menyelesaikan tugas-tugas berikut:
+ Replikasi HDFS di cluster Hadoop Anda ke Amazon S3 untuk kelangsungan bisnis
+ Salin HDFS ke Amazon S3 untuk mengisi data lake Anda
+ Transfer data antara HDFS cluster Hadoop Anda dan Amazon S3 untuk analisis dan pemrosesan

Untuk mengunggah data ke bucket S3, Anda terlebih dahulu menerapkan satu atau beberapa DataSync agen di jaringan yang sama dengan penyimpanan lokal. *Agen* adalah mesin virtual (VM) yang digunakan untuk membaca data dari atau menulis data ke lokasi yang dikelola sendiri. Anda kemudian mengaktifkan agen Anda di Akun AWS dan Wilayah AWS di mana ember S3 Anda berada.

Setelah agen diaktifkan, Anda membuat lokasi sumber untuk penyimpanan lokal, lokasi tujuan untuk bucket S3, dan tugas. *Tugas* adalah satu set dari dua lokasi (sumber dan tujuan) dan satu set dari opsi default yang Anda gunakan untuk mengontrol perilaku tugas.

Akhirnya, Anda menjalankan DataSync tugas Anda untuk mentransfer data dari sumber ke tujuan. 

Untuk informasi selengkapnya, silakan lihat [Memulai dengan AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/getting-started.html).

# Impor file dengan cache terdistribusi dengan Amazon EMR
<a name="emr-plan-input-distributed-cache"></a>

DistributedCacheadalah fitur Hadoop yang dapat meningkatkan efisiensi ketika peta atau tugas pengurangan membutuhkan akses ke data umum. Jika klaster Anda bergantung pada aplikasi atau binari yang ada yang tidak diinstal saat cluster dibuat, Anda dapat menggunakan DistributedCache untuk mengimpor file-file ini. Fitur ini memungkinkan simpul klaster membaca file yang diimpor dari sistem file lokalnya, alih-alih mengambil file dari simpul klaster lainnya. 

Untuk informasi lebih lanjut, kunjungi [http://hadoop.apache. org/docs/stable/api/org/apache/hadoop/filecache/DistributedCache.html](http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/filecache/DistributedCache.html).

Anda memanggil DistributedCache saat Anda membuat cluster. File di-cache tepat sebelum memulai pekerjaan Hadoop dan file tetap di-cache selama pekerjaan berlangsung. Anda dapat menyimpan file cache pada sistem file yang kompatibel dengan Hadoop, misalnya HDFS atau Amazon S3. Ukuran default cache file adalah 10GB. Untuk mengubah ukuran cache, konfigurasi ulang parameter Hadoop, `local.cache.size` menggunakan tindakan bootstrap. Untuk informasi selengkapnya, lihat [Buat tindakan bootstrap untuk menginstal perangkat lunak tambahan dengan cluster EMR Amazon](emr-plan-bootstrap.md).

**Topics**
+ [Tipe file yang didukung](#emr-dev-supported-file-types)
+ [Lokasi file yang di-cache](#locationofcache)
+ [Mengakses file cache dari aplikasi streaming](#cachemapper)
+ [Mengakses file cache dari aplikasi streaming](#cacheinconsole)

## Tipe file yang didukung
<a name="emr-dev-supported-file-types"></a>

DistributedCachememungkinkan file tunggal dan arsip. File individual di-cache sebagai hanya baca. File yang dapat dieksekusi dan file biner memiliki izin eksekusi yang ditetapkan.

Arsip adalah satu atau lebih file yang dikemas menggunakan utilitas, seperti`gzip`. DistributedCachemeneruskan file terkompresi ke setiap node inti dan mendekompresi arsip sebagai bagian dari caching. DistributedCachemendukung format kompresi berikut:
+ zip
+ tgz
+ tar.gz
+ tar
+ jar

## Lokasi file yang di-cache
<a name="locationofcache"></a>

DistributedCachemenyalin file ke node inti saja. Jika tidak ada node inti di cluster, DistributedCache salin file ke node utama.

DistributedCachemengaitkan file cache ke direktori kerja mapper dan peredam saat ini menggunakan symlink. Tautan simbol adalah suatu alias ke lokasi file, bukan lokasi file sebenarnya. Nilai parameter, `yarn.nodemanager.local-dirs` dalam `yarn-site.xml`, menentukan lokasi file sementara. Amazon EMR menetapkan parameter ini ke `/mnt/mapred`, atau beberapa variasi berdasarkan tipe instans dan versi EMR. Misalnya, setelan mungkin memiliki `/mnt/mapred` dan `/mnt1/mapred` karena tipe instans memiliki dua volume sementara. File cache terletak di subdirektori lokasi file sementara di `/mnt/mapred/taskTracker/archive`. 

Jika Anda men-cache satu file, DistributedCache letakkan file di `archive` direktori. Jika Anda menyimpan arsip, DistributedCache mendekompresi file, membuat subdirektori dengan nama yang sama `/archive` dengan nama file arsip. File individu terletak di subdirektori baru.

Anda DistributedCache hanya dapat menggunakan saat menggunakan Streaming.

## Mengakses file cache dari aplikasi streaming
<a name="cachemapper"></a>

Untuk mengakses file yang di-cache dari aplikasi pemeta atau peredam Anda, pastikan bahwa Anda telah menambahkan direktori kerja saat ini (./) ke dalam jalur aplikasi Anda dan mereferensikan file yang di-cache seolah-olah ada di direktori kerja saat ini.

## Mengakses file cache dari aplikasi streaming
<a name="cacheinconsole"></a>

Anda dapat menggunakan Konsol Manajemen AWS dan AWS CLI untuk membuat cluster yang menggunakan Distributed Cache. 

------
#### [ Console ]

**Untuk menentukan file cache terdistribusi dengan konsol baru**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol EMR Amazon di https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. **Di bawah **EMR pada EC2** di panel navigasi kiri, pilih Clusters, lalu pilih **Create cluster**.**

1. Di bawah **Langkah**, pilih **Tambahkan langkah**. Ini membuka dialog **Tambah langkah**. Di bidang **Argumen**, sertakan file dan arsip untuk disimpan ke cache. Ukuran file (atau ukuran total file dalam file arsip) harus kurang dari ukuran cache yang dialokasikan.

   Jika Anda ingin menambahkan file individual ke cache terdistribusi`-cacheFile`, tentukan, diikuti dengan nama dan lokasi file, tanda pound (\$1), dan nama yang ingin Anda berikan file saat ditempatkan di cache lokal. Contoh berikut menunjukkan bagaimana menambahkan file individual ke cache didistribusikan.

   ```
   -cacheFile \
   s3://amzn-s3-demo-bucket/file-name#cache-file-name
   ```

   Jika Anda ingin menambahkan file arsip ke cache terdistribusi, masukkan `-cacheArchive` diikuti dengan lokasi file di Amazon S3, tanda pound (\$1), dan kemudian nama yang ingin Anda berikan koleksi file di cache lokal. Contoh berikut menunjukkan bagaimana menambahkan file arsip ke cache didistribusikan.

   ```
   -cacheArchive \
   s3://amzn-s3-demo-bucket/archive-name#cache-archive-name
   ```

   Masukkan nilai yang sesuai di bidang dialog lainnya. Opsi akan berbeda tergantung pada tipe langkah. Untuk menambahkan langkah Anda dan keluar dari dialog, pilih **Tambah langkah**.

1. Pilih opsi lain yang berlaku untuk cluster Anda. 

1. Untuk meluncurkan klaster Anda, pilih **Buat klaster**.

------
#### [ CLI ]

**Untuk menentukan file cache terdistribusi dengan AWS CLI**
+ Untuk mengirimkan langkah Streaming saat cluster dibuat, ketik perintah `create-cluster` dengan parameter `--steps`. Untuk menentukan file cache terdistribusi menggunakan AWS CLI, tentukan argumen yang sesuai saat mengirimkan langkah Streaming. 

  Jika Anda ingin menambahkan file individual ke cache terdistribusi`-cacheFile`, tentukan, diikuti dengan nama dan lokasi file, tanda pound (\$1), dan nama yang ingin Anda berikan file saat ditempatkan di cache lokal. 

  Jika Anda ingin menambahkan file arsip ke cache terdistribusi, masukkan `-cacheArchive` diikuti dengan lokasi file di Amazon S3, tanda pound (\$1), dan kemudian nama yang ingin Anda berikan koleksi file di cache lokal. Contoh berikut menunjukkan bagaimana menambahkan file arsip ke cache didistribusikan.

  Untuk informasi selengkapnya tentang penggunaan perintah EMR Amazon di AWS CLI, lihat. [https://docs.aws.amazon.com/cli/latest/reference/emr](https://docs.aws.amazon.com/cli/latest/reference/emr)

**Example 1**  
Ketik perintah berikut untuk meluncurkan klaster dan mengirimkan langkah Streaming yang digunakan `-cacheFile` untuk menambahkan satu file, `sample_dataset_cached.dat`, ke cache.   

```
aws emr create-cluster --name "Test cluster" --release-label emr-4.0.0 --applications Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge --instance-count 3 --steps Type=STREAMING,Name="Streaming program",ActionOnFailure=CONTINUE,Args=["--files","s3://my_bucket/my_mapper.py s3://my_bucket/my_reducer.py","-mapper","my_mapper.py","-reducer","my_reducer.py,"-input","s3://my_bucket/my_input","-output","s3://my_bucket/my_output", "-cacheFile","s3://my_bucket/sample_dataset.dat#sample_dataset_cached.dat"]
```
Saat Anda menentukan jumlah instance tanpa menggunakan `--instance-groups` parameter, satu node primer diluncurkan, dan instance yang tersisa diluncurkan sebagai node inti. Semua simpul akan menggunakan tipe instans yang ditentukan dalam perintah.  
Jika Anda belum pernah membuat peran layanan EMR default dan profil instans EC2, ketik `aws emr create-default-roles` untuk membuatnya sebelum mengetik subperintah `create-cluster`. 

**Example 2**  
Perintah berikut menunjukkan pembuatan klaster streaming dan menggunakan `-cacheArchive` untuk menambahkan arsip file ke cache.   

```
aws emr create-cluster --name "Test cluster" --release-label emr-4.0.0 --applications Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge --instance-count 3 --steps Type=STREAMING,Name="Streaming program",ActionOnFailure=CONTINUE,Args=["--files","s3://my_bucket/my_mapper.py s3://my_bucket/my_reducer.py","-mapper","my_mapper.py","-reducer","my_reducer.py,"-input","s3://my_bucket/my_input","-output","s3://my_bucket/my_output", "-cacheArchive","s3://my_bucket/sample_dataset.tgz#sample_dataset_cached"]
```
Saat Anda menentukan jumlah instance tanpa menggunakan `--instance-groups` parameter, satu node primer diluncurkan, dan instance yang tersisa diluncurkan sebagai node inti. Semua simpul akan menggunakan tipe instans yang ditentukan dalam perintah.  
Jika Anda belum pernah membuat peran layanan EMR default dan profil instans EC2, ketik `aws emr create-default-roles` untuk membuatnya sebelum mengetik subperintah `create-cluster`. 

------

# Mendeteksi dan memproses file terkompresi dengan Amazon EMR
<a name="HowtoProcessGzippedFiles"></a>

Hadoop memeriksa ekstensi file untuk mendeteksi file terkompresi. Jenis kompresi yang didukung oleh Hadoop adalah: gzip, bzip2, dan LZO. Anda tidak perlu melakukan tindakan tambahan apa pun untuk mengekstrak file jika jenis kompresi ini digunakan; Hadoop menanganinya untuk Anda.

[Untuk mengindeks file LZO, Anda dapat menggunakan pustaka hadoop-lzo yang dapat diunduh dari hadoop-lzo. https://github.com/kevinweil/](https://github.com/kevinweil/hadoop-lzo) Perhatikan bahwa karena ini merupakan pustaka pihak ketiga, Amazon EMR tidak menawarkan dukungan developer tentang cara menggunakan alat ini. Untuk informasi penggunaan, lihat [the hadoop-lzo readme file.](https://github.com/kevinweil/hadoop-lzo/blob/master/README.md) 

# Impor data DynamoDB ke Hive dengan Amazon EMR
<a name="emr-plan-input-dynamodb"></a>

Implementasi Hive yang disediakan oleh Amazon EMR mencakup fungsionalitas yang dapat Anda gunakan untuk mengimpor dan mengekspor data antara DynamoDB dan klaster Amazon EMR. Ini berguna jika data input Anda disimpan di DynamoDB. Untuk informasi selengkapnya, lihat [Ekspor, Impor, kueri, dan menggabungkan tabel di DynamoDB menggunakan Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/EMRforDynamoDB.html). 

# Connect ke data dengan AWS Direct Connect dari Amazon EMR
<a name="emr-plan-input-directconnect"></a>

Direct Connect adalah layanan yang dapat Anda gunakan untuk membuat koneksi jaringan khusus pribadi ke Amazon Web Services dari pusat data, kantor, atau lingkungan colocation Anda. Jika Anda memiliki data input dalam jumlah besar, penggunaan Direct Connect dapat mengurangi biaya jaringan Anda, meningkatkan throughput bandwidth, dan memberikan pengalaman jaringan yang lebih konsisten daripada koneksi berbasis Internet. Untuk informasi selengkapnya, lihat [Direct Connect Panduan Pengguna](https://docs.aws.amazon.com/directconnect/latest/UserGuide/). 

# Unggah data dalam jumlah besar untuk Amazon EMR dengan AWS Snowball Edge
<a name="emr-plan-input-snowball"></a>

AWS Snowball Edge adalah layanan yang dapat Anda gunakan untuk mentransfer data dalam jumlah besar antara Amazon Simple Storage Service (Amazon S3) dan lokasi penyimpanan data di tempat Anda dengan kecepatan tinggi. faster-than-internet Snowball Edge mendukung dua jenis pekerjaan: pekerjaan impor dan pekerjaan ekspor. Pekerjaan impor melibatkan transfer data dari sumber on-premise ke bucket Amazon S3. Pekerjaan ekspor melibatkan transfer data dari bucket Amazon S3 ke sumber on-Premise. Untuk kedua jenis pekerjaan, perangkat Snowball Edge mengamankan dan melindungi data Anda sementara operator pengiriman regional mengangkutnya antara Amazon S3 dan lokasi penyimpanan data di tempat Anda. Perangkat Snowball Edge secara fisik kasar dan dilindungi oleh (). AWS Key Management Service AWS KMS Untuk informasi selengkapnya, lihat [AWS Snowball Edge Panduan Developer Edge](https://docs.aws.amazon.com/snowball/latest/developer-guide/).