

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

# Kirim langkah JAR kustom
<a name="emr-launch-custom-jar-cli"></a>

JAR khusus menjalankan program Java yang dikompilasi yang dapat Anda unggah ke Amazon S3. Anda harus mengkompilasi program terhadap versi Hadoop yang ingin Anda luncurkan, dan mengirimkan `CUSTOM_JAR` langkah ke cluster EMR Amazon Anda. Untuk informasi selengkapnya tentang cara mengkompilasi file JAR, lihat[Bangun binari menggunakan Amazon EMR](emr-build-binaries.md).

Untuk informasi lebih lanjut tentang membangun MapReduce aplikasi Hadoop, lihat [MapReduce Tutorial](http://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) dalam dokumentasi Apache Hadoop.

Bagian ini mencakup dasar-dasar pengiriman langkah JAR kustom di Amazon EMR. Mengirimkan langkah JAR kustom memungkinkan Anda untuk menulis skrip untuk memproses data Anda dengan bahasa pemrograman Java. 

## Kirim langkah JAR khusus dengan konsol
<a name="ConsoleCreatingaCustomJARJob"></a>

Contoh ini menjelaskan cara menggunakan konsol Amazon EMR untuk mengirimkan langkah JAR kustom untuk klaster berjalan.

**Untuk mengirimkan langkah JAR khusus dengan konsol**

1. [Buka konsol EMR Amazon di https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr/)

1. Pada halaman **Daftar Klaster**, pilih tautan untuk klaster Anda.

1. Gulir ke bagian **Langkah** dan perluas, lalu pilih **Tambahkan langkah**.

1. Di dialog **Tambahkan Langkah**:
   + Untuk **Tipe langkah**, pilih **JAR Kustom**.
   + Untuk **Nama**, terima nama default (Kustom JAR) atau ketik nama baru.
   + Untuk **Lokasi JAR S3**, ketik atau jelajahi ke lokasi file JAR Anda. Lokasi JAR mungkin merupakan jalur ke S3 atau kelas java yang memenuhi syarat di classpath.. 
   + Untuk **Pendapat**, ketik argumen yang diperlukan sebagai string yang dipisahkan spasi atau biarkan kosong.
   + Untuk **Tindakan pada kegagalan**, terima opsi default (**Lanjutkan**).

1. Pilih **Tambahkan**. Langkah muncul di konsol dengan status Tertunda. 

1. Status langkah perubahan dari Tertunda ke Sedang Berjalan hingga Selesai sebagai langkah berjalan. Untuk memperbarui status, pilih ikon **Refresh** di atas kolom Tindakan. 

## Meluncurkan cluster dan mengirimkan langkah JAR khusus dengan AWS CLI
<a name="emr-dev-create-jar-cli"></a>

**Untuk meluncurkan cluster dan mengirimkan langkah JAR khusus dengan AWS CLI**

Untuk meluncurkan cluster dan mengirimkan langkah JAR khusus dengan AWS CLI, ketik `create-cluster` subperintah dengan `--steps` parameter.
+ Untuk meluncurkan cluster dan mengirimkan langkah JAR kustom, ketik perintah berikut, ganti {{myKey}} dengan nama key pair EC2 Anda, dan ganti {{amzn-s3-demo-bucket}} dengan nama bucket Anda.

  ```
  aws emr create-cluster --name "{{Test cluster}}" --release-label {{emr-7.13.0}} \
  --applications Name={{Hue}} Name={{Hive}} Name={{Pig}} --use-default-roles \
  --ec2-attributes KeyName={{myKey}} --instance-type {{m5.xlarge}} --instance-count {{3}} \
  --steps Type={{CUSTOM_JAR}},Name="{{Custom JAR Step}}",ActionOnFailure={{CONTINUE}},Jar={{pathtojarfile}},Args=["{{pathtoinputdata}}","{{pathtooutputbucket}}","{{arg1}}","{{arg2}}"]
  ```
**catatan**  
Karakter lanjutan baris Linux (\\) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

  Saat Anda menentukan jumlah instance tanpa `--instance-groups` parameter, satu node primer diluncurkan, dan instance yang tersisa diluncurkan sebagai node inti. Semua node menggunakan jenis instance yang Anda tentukan dalam perintah.
**catatan**  
Jika Anda belum pernah membuat peran layanan Amazon EMR default dan profil instans EC2, ketik `aws emr create-default-roles` untuk membuatnya sebelum mengetik `create-cluster` subperintah.

  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)

## Ketergantungan pihak ketiga
<a name="emr-custom-jar-dependency"></a>

Kadang-kadang mungkin perlu untuk memasukkan dalam MapReduce classpath JARs untuk digunakan dengan program Anda. Anda memiliki dua pilihan untuk melakukan hal ini:
+ Sertakan `--libjars s3://{{URI_to_JAR}}` dalam opsi langkah untuk prosedur di [Meluncurkan cluster dan mengirimkan langkah JAR khusus dengan AWS CLI](#emr-dev-create-jar-cli).
+ Luncurkan cluster dengan `mapreduce.application.classpath` pengaturan yang dimodifikasi di`mapred-site.xml`. Gunakan klasifikasi konfigurasi `mapred-site`. Untuk membuat cluster dengan langkah menggunakan AWS CLI, ini akan terlihat seperti berikut:

  ```
  aws emr create-cluster --release-label {{emr-7.13.0}} \
  --applications Name={{Hue}} Name={{Hive}} Name={{Pig}} --use-default-roles \
  --instance-type m5.xlarge --instance-count 2  --ec2-attributes KeyName={{myKey}} \
  --steps Type={{CUSTOM_JAR}},Name="{{Custom JAR Step}}",ActionOnFailure={{CONTINUE}},Jar={{pathtojarfile}},Args=["{{pathtoinputdata}}","{{pathtooutputbucket}}","{{arg1}}","{{arg2}}"] \
  --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json
  ```

  `myConfig.json`:

  ```
  [
      {
        "Classification": "mapred-site",
        "Properties": {
          "mapreduce.application.classpath": "{{path1}},{{path2}}"
        }
      }
    ]
  ```

  Daftar jalur yang dipisahkan koma harus ditambahkan ke classpath JVM untuk setiap tugas.