Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Amazon EMRクラスターでコマンドとスクリプトを実行する - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EMRクラスターでコマンドとスクリプトを実行する

このトピックでは、クラスターでステップとしてコマンドまたはスクリプトを実行する方法について説明します。コマンドまたはスクリプトをステップとして実行することは、クラスターに作業を送信する多くの方法の 1 つであり、次のような場合に役立ちます。

  • Amazon EMRクラスターSSHにアクセスできない場合

  • bash コマンドまたはシェルコマンドを実行してクラスターのトラブルシューティングを行うとき

スクリプトは、クラスターを作成するときにも、クラスターが WAITING 状態のときにも実行できます。ステップの処理が始まる前にスクリプトを実行するには、代わりにブートストラップアクションを使用します。ブートストラップアクションの詳細については、「Amazon EMR 管理ガイド」の「追加のソフトウェアをインストールするためのブートストラップアクションの作成」を参照してください。

Amazon EMRには、スクリプト、コマンド、その他のクラスター上のプログラムの実行に役立つ以下のツールが用意されています。Amazon EMRマネジメントコンソールまたは を使用して、両方のツールを呼び出すことができます AWS CLI。

command-runner.jar

クラスターの Amazon EMR AMI にあります。command-runner.jar を使用して、クラスター上でコマンドを実行できます。command-runner.jar は、フルパスを使用せずに指定します。

script-runner.jar

Amazon S3 でホストされます。s3://<region>.elasticmapreduce/libs/script-runner/script-runner.jarここで、 <region>は Amazon EMRクラスターが存在するリージョンです。script-runner.jar を使用して、ローカルまたはクラスター上の Amazon S3 に保存されたスクリプトを実行できます。ステップを送信するscript-runner.jarときは、 URI の完全な を指定する必要があります。

スクリプトまたはコマンドを実行するカスタムJARステップを送信する

次の AWS CLI 例は、Amazon script-runner.jarでの command-runner.jarおよび の一般的なユースケースを示していますEMR。

例 : command-runner.jar を使用したクラスターでのコマンドの実行

command-runner.jar を使用するとき、ステップの引数のリストに、コマンド、オプション、および値を指定します。

次の AWS CLI 例では、 を呼び出す実行中のクラスターにステップを送信しますcommand-runner.jarArgs リストで指定されたコマンドは、 というスクリプトを Amazon S3 my-script.shから hadoop ユーザーのホームディレクトリにダウンロードします。次に、 コマンドはスクリプトのアクセス許可を変更し、 を実行しますmy-script.sh

を使用する場合 AWS CLI、Argsリスト内の項目はカンマで区切られ、リスト要素間に空白は配置されません。例えば、Args=[example-command, example-option, "example option value"] ではなく Args=[example-command,example-option,"example option value"] を使用します。

aws emr add-steps \ --cluster-id j-2AXXXXXXGAPLF \ --steps Type=CUSTOM_JAR,Name="Download a script from S3, change its permissions, and run it",ActionOnFailure=CONTINUE,Jar=command-runner.jar,Args=[bash,-c,"aws s3 cp s3://amzn-s3-demo-bucket/my-script.sh /home/hadoop; chmod u+x /home/hadoop/my-script.sh; cd /home/hadoop; ./my-script.sh"]
例 : script-runner.jar を使用したクラスターでのスクリプトの実行

script-runner.jar を使用するとき、ステップの引数のリストで実行するスクリプトを指定します。

次の AWS CLI 例では、 を呼び出す実行中のクラスターにステップを送信しますscript-runner.jar。この場合、 というスクリプトmy-script.shは Amazon S3 に保存されます。クラスターのマスターノードに保存されているローカルスクリプトを指定することもできます。

aws emr add-steps \ --cluster-id j-2AXXXXXXGAPLF \ --steps Type=CUSTOM_JAR,Name="Run a script from S3 with script-runner.jar",ActionOnFailure=CONTINUE,Jar=s3://us-west-2.elasticmapreduce/libs/script-runner/script-runner.jar,Args=[s3://amzn-s3-demo-bucket/my-script.sh]

command-runner.jar のその他の使用方法

command-runner.jar を使用して、spark-submithadoop-streaming などのツールがあるクラスターに作業を送信することもできます。command-runner.jar を使用してアプリケーションを起動するときは、SPARKSTREAMINGPIG などの値を使用する代わりに、ステップタイプとして CUSTOM_JAR を指定します。ツールの可用性は、クラスターにインストールしたアプリケーションによって異なります。

次のコマンド例では、command-runner.jar を使用して、spark-submit を使用するステップを送信します。このArgsリストでは、 コマンドspark-submitとして を指定し、引数と値my-app.pyを使用して Spark アプリケーションの Amazon S3 URIを続けます。

aws emr add-steps \ --cluster-id j-2AXXXXXXGAPLF \ --steps Type=CUSTOM_JAR,Name="Run spark-submit using command-runner.jar",ActionOnFailure=CONTINUE,Jar=command-runner.jar,Args=[spark-submit,S3://amzn-s3-demo-bucket/my-app.py,ArgName1,ArgValue1,ArgName2,ArgValue2]

次の表に、command-runner.jar を使用して実行できるその他のツールを示します。

ツール名 説明
hadoop-streaming Hadoop ストリーミングプログラムを送信します。コンソールと一部の ではSDKs、これはストリーミングステップです。
hive-script Hive スクリプトを実行します。コンソールと ではSDKs、これは Hive ステップです。
pig-script Pig スクリプトを実行します。コンソールと ではSDKs、これは Pig ステップです。
spark-submit

Spark アプリケーションを実行します。コンソールでは、これは Spark のステップです。

hadoop-lzo ディレクトリで Hadoop LZOインデクサを実行します。
s3-dist-cp 大量のデータを Amazon S3 から に分散コピーしますHDFS。詳細については、「S3DistCp (s3-dist-cp)」を参照してください。
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.