Kirim langkah JAR kustom - Amazon EMR

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

Kirim langkah JAR kustom

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

Kirim langkah JAR kustom menggunakan konsol

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

Mengirimkan langkah JAR kustom menggunakan konsol
  1. Buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Pada halaman Daftar Klaster, pilih tautan untuk klaster Anda.

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

  4. 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).

  5. Pilih Tambahkan. Langkah muncul di konsol dengan status Tertunda.

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

Meluncurkan klaster dan mengirimkan langkah JAR kustom menggunakan AWS CLI

Meluncurkan klaster dan mengirimkan langkah JAR kustom menggunakan AWS CLI

Untuk meluncurkan klaster dan mengirimkan langkah JAR kustom menggunakan AWS CLI, ketik create-cluster subperintah dengan --steps parameter.

  • Untuk meluncurkan klaster dan mengirimkan langkah JAR kustom, ketik perintah berikut, ganti MyKey dengan nama pasangan kunci EC2 Anda, dan ganti mybucket dengan nama bucket Anda.

    aws emr create-cluster --name "Test cluster" --release-label emr-5.36.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 (^).

    Ketika Anda menentukan jumlah instans tanpa menggunakan --instance-groups parameter, simpul utama tunggal diluncurkan, dan instans yang tersisa diluncurkan sebagai simpul inti. Semua simpul menggunakan tipe instans yang ditentukan 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 menggunakan perintah Amazon EMR dalam AWS CLI, lihat https://docs.aws.amazon.com/cli/latest/reference/emr.

Ketergantungan pihak ketiga

Terkadang mungkin perlu untuk menyertakan JAR MapReduce classpath 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 klaster dan mengirimkan langkah JAR kustom menggunakan AWS CLI.

  • Luncurkan klaster dengan mapreduce.application.classpath pengaturan mapred-site.xml yang dimodifikasi di menggunakan mapred-site klasifikasi konfigurasi. Untuk membuat klaster dengan langkah menggunakan AWS CLI, ini akan terlihat seperti berikut ini:

    aws emr create-cluster --release-label emr-5.36.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/mybucket/myfolder/myConfig.json

    myConfig.json:

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

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