このトピックでは、Hadoop MapReduce ジョブを構成する方法について説明します。
前提条件
プロジェクトが作成されていること。詳細については、「プロジェクトの管理」をご参照ください。手順
- データプラットフォーム タブに移動します。
- Alibaba Cloud アカウントを使用して、Alibaba Cloud EMR コンソール にログオンします。
- 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。します。
- [データプラットフォーム] タブをクリックします。
- [プロジェクト] セクションで、プロジェクトを見つけて、[アクション] 列の [ジョブの編集] をクリックします。
- Hadoop MapReduce ジョブを作成します。
- 左側の [ジョブの編集] ペインで、操作を実行するフォルダーを右クリックし、[ジョブの作成] を選択します。
- [ジョブの作成] ダイアログボックスで、[名前] と [説明] を指定し、MR[ジョブの種類] ドロップダウンリストから を選択します。このオプションは、Hadoop MapReduce ジョブが作成されることを示します。 Hadoop MapReduce ジョブを送信するには、次のコマンド構文を使用できます。
hadoop jar xxx.jar [MainClass] -D xxx .... - [OK] をクリックします。
- ジョブの内容を編集します。
- [コンテンツ] フィールドに、ジョブの送信に必要なコマンドラインパラメーターを指定します。
hadoop jarの後にあるパラメーターから始めます。 ジョブの実行に使用する JAR パッケージのパスを入力します。 次に、[MainClass]とその他のコマンドラインパラメーターを指定します。たとえば、Hadoop sleep ジョブを送信するとします。 このジョブは、データの読み取りと書き込みを行う代わりに、いくつかのマッパーとレデューサーのタスクを Hadoop クラスターに送信し、各タスクの実行中に一定時間スリープします。 Hadoop 2.6.0 では、このジョブは hadoop-mapreduce-client-jobclient-2.6.0-tests.jar にパッケージされています。 次のコマンドを実行して、ジョブを送信できます。hadoop jar /path/to/hadoop-mapreduce-client-jobclient-2.6.0-tests.jar sleep -m 3 -r 3 -mt 100 -rt 100EMR でこのジョブを構成するには、[コンテンツ] フィールドに次のコマンドを入力します。/path/to/hadoop-mapreduce-client-jobclient-2.6.0-tests.jar sleep -m 3 -r 3 -mt 100 -rt 100説明 ページの下部にある [+ OSS パスを入力] をクリックします。 [OSS ファイル] ダイアログボックスで、[ファイルプレフィックス] を [OSSREF] に設定し、[ファイルパス] を指定します。 システムは、OSS 内の Hadoop MapReduce スクリプトのパスを自動的に補完します。 - [保存] をクリックします。前の例では、sleep ジョブはデータの入出力を行いません。 wordcount ジョブなど、データを読み取って処理結果を提供するジョブを構成するには、データの入力パスと出力パスを指定する必要があります。EMR では、HDFS または OSS からデータを読み取り、HDFS または OSS にデータを書き込むことができます。 OSS からデータを読み取り、OSS にデータを書き込むには、入力パスと出力パスを OSS 内のパスに設定します。 サンプルコード:
jar ossref://emr/checklist/jars/chengtao/hadoop/hadoop-mapreduce-examples-2.6.0.jar randomtextwriter -D mapreduce.randomtextwriter.totalbytes=320000 oss://emr/checklist/data/chengtao/hadoop/Wordcount/Input
- [コンテンツ] フィールドに、ジョブの送信に必要なコマンドラインパラメーターを指定します。