Tambahkan langkah Spark - Amazon EMR

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

Tambahkan langkah Spark

Anda dapat menggunakan langkah-langkah Amazon EMR untuk mengirimkan pekerjaan ke kerangka Spark diinstal pada cluster EMR. Untuk informasi lebih lanjut, lihat Langkah dalam Panduan Manajemen Amazon EMR. Dalam konsol dan CLI, Anda melakukan ini menggunakan langkah aplikasi Spark, yang menjalankan spark-submit skrip sebagai langkah atas nama Anda. Dengan API, Anda menggunakan langkah untuk memohon spark-submit menggunakan command-runner.jar.

Untuk informasi selengkapnya tentang mengirimkan aplikasi ke Spark, lihat Mengirimkan aplikasi topik dalam dokumentasi Apache Spark.

Untuk mengirimkan langkah Spark menggunakan konsol
  1. Buka konsol EMR Amazon di https://console.aws.amazon.com/emr.

  2. Di Cluster Daftar Pilih nama klaster Anda.

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

  4. Di Tambahkan Langkah kotak dialog:

    • Untuk Jenis langkah, pilih Aplikasi Spark.

    • Untuk Nama, menerima nama default (aplikasi Spark) atau ketik nama baru.

    • Untuk Mode penyebaran, pilih Klien atau KlusterMode. Mode klien meluncurkan program driver pada instance utama cluster, sementara mode cluster meluncurkan program driver Anda di cluster. Untuk mode klien, output log pengemudi muncul di log langkah, sedangkan untuk mode cluster, output log pengemudi muncul di log untuk wadah BEARN pertama. Untuk informasi lebih lanjut, lihat Ikhtisar mode dalam dokumentasi Apache Spark.

    • Tentukan yang diinginkan Spark-submit opsi. Untuk informasi lebih lanjut tentang spark-submit pilihan, lihat Meluncurkan aplikasi dengan spark-submit.

    • Untuk Lokasi aplikasi, tentukan jalur URI lokal atau S3 dari aplikasi.

    • Untuk Argumen, biarkan kolomnya kosong.

    • Untuk Tindakan pada kegagalan, terima opsi default (Lanjutkan).

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

  6. Status perubahan langkah dari Menunggu ke berjalan ke Selesai sebagai langkah berjalan. Untuk memperbarui status, pilih ikon Segarkan di atas kolom Tindakan.

  7. Hasil langkah terletak di konsol Amazon EMR Cluster Detail halaman di sebelah langkah Anda di bawah File Log jika Anda memiliki pencatatan yang dikonfigurasi. Anda dapat menemukan informasi langkah dalam bucket log yang Anda konfigurasi saat meluncurkan kluster.

Untuk mengirimkan pekerjaan ke Spark menggunakan AWS CLI

Kirim langkah ketika Anda membuat gugus atau menggunakan aws emr add-steps subperintah dalam sebuah cluster yang ada.

  1. Gunakan create-cluster seperti yang ditunjukkan dalam contoh berikut ini.

    catatan

    Karakter kelanjutan baris Linux (\) disertakan untuk memudahkan pembacaan. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

    aws emr create-cluster --name "Add Spark Step Cluster" --release-label emr-7.0.0 --applications Name=Spark \ --ec2-attributes KeyName=myKey --instance-type m5.xlarge --instance-count 3 \ --steps Type=Spark,Name="Spark Program",ActionOnFailure=CONTINUE,Args=[--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/examples/jars/spark-examples.jar,10] --use-default-roles

    Sebagai alternatif, Anda dapat menggunakannya command-runner.jar Seperti yang ditunjukkan dalam contoh berikut.

    aws emr create-cluster --name "Add Spark Step Cluster" --release-label emr-7.0.0 \ --applications Name=Spark --ec2-attributes KeyName=myKey --instance-type m5.xlarge --instance-count 3 \ --steps Type=CUSTOM_JAR,Name="Spark Program",Jar="command-runner.jar",ActionOnFailure=CONTINUE,Args=[spark-example,SparkPi,10] --use-default-roles
    catatan

    Karakter kelanjutan baris Linux (\) disertakan untuk memudahkan pembacaan. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

  2. Atau, menambahkan langkah-langkah untuk cluster yang sudah berjalan. Gunakan add-steps.

    aws emr add-steps --cluster-id j-2AXXXXXXGAPLF --steps Type=Spark,Name="Spark Program",ActionOnFailure=CONTINUE,Args=[--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/examples/jars/spark-examples.jar,10]

    Sebagai alternatif, Anda dapat menggunakannya command-runner.jar Seperti yang ditunjukkan dalam contoh berikut.

    aws emr add-steps --cluster-id j-2AXXXXXXGAPLF --steps Type=CUSTOM_JAR,Name="Spark Program",Jar="command-runner.jar",ActionOnFailure=CONTINUE,Args=[spark-example,SparkPi,10]
Untuk mengirimkan pekerjaan ke Spark menggunakan SDK for Java
  1. Contoh berikut menunjukkan cara menambahkan langkah ke cluster dengan Spark menggunakan Java.

    AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); AmazonElasticMapReduce emr = new AmazonElasticMapReduceClient(credentials); StepFactory stepFactory = new StepFactory(); AmazonElasticMapReduceClient emr = new AmazonElasticMapReduceClient(credentials); AddJobFlowStepsRequest req = new AddJobFlowStepsRequest(); req.withJobFlowId("j-1K48XXXXXXHCB"); List<StepConfig> stepConfigs = new ArrayList<StepConfig>(); HadoopJarStepConfig sparkStepConf = new HadoopJarStepConfig() .withJar("command-runner.jar") .withArgs("spark-submit","--executor-memory","1g","--class","org.apache.spark.examples.SparkPi","/usr/lib/spark/examples/jars/spark-examples.jar","10"); StepConfig sparkStep = new StepConfig() .withName("Spark Step") .withActionOnFailure("CONTINUE") .withHadoopJarStep(sparkStepConf); stepConfigs.add(sparkStep); req.withSteps(stepConfigs); AddJobFlowStepsResult result = emr.addJobFlowSteps(req);
  2. Lihat hasil langkah dengan memeriksa log untuk langkah tersebut. Anda dapat melakukannya di AWS Management Console jika Anda telah mengaktifkan pendataan dengan memilih Langkah, memilih langkah Anda, dan kemudian, untuk File log, memilih salah satu stdout atau stderr. Untuk melihat log yang tersedia, pilih Melihat log.

Menimpa pengaturan konfigurasi default Spark

Anda mungkin ingin menimpa Spark nilai konfigurasi default secara per aplikasi. Anda dapat melakukan ini ketika Anda mengirimkan aplikasi menggunakan langkah, yang pada dasarnya melewati opsi untuk spark-submit. Misalnya, Anda mungkin ingin mengubah memori yang dialokasikan untuk proses pelaksana dengan mengubah spark.executor.memory. Anda akan menyediakan --executor-memory beralih dengan argumen seperti berikut:

spark-submit --executor-memory 1g --class org.apache.spark.examples.SparkPi /usr/lib/spark/examples/jars/spark-examples.jar 10

Demikian pula, Anda dapat menyetel --executor-cores dan --driver-memory. Dalam satu langkah, Anda akan memberikan argumen berikut untuk langkah:

--executor-memory 1g --class org.apache.spark.examples.SparkPi /usr/lib/spark/examples/jars/spark-examples.jar 10

Anda juga dapat menyetel pengaturan yang mungkin tidak memiliki sakelar bawaan menggunakan --conf Pilihan. Untuk informasi selengkapnya tentang pengaturan lain yang merdu, lihat bagian Dinamis memuat properti Spark topik dalam dokumentasi Apache Spark.