# tJavaMR MapReduceプロパティ(非推奨)

Availability-note[非推奨](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

このコンテンツは非推奨になりました。

これらのプロパティは、tJavaMRジョブのフレームワークで実行されているtHDFSOutputを設定するために使われます。

MapReduce tJavaMRコンポーネントは、カスタムコードファミリーに属しています。

このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend Platform製品すべて、およびTalend Data Fabricで利用できます。

Availability-note[Deprecated](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

このコンテンツは非推奨になりました。

MapReduceのフレームワークは、Talend 7.3以降非推奨となります。Apache SparkのTalendジョブを使って、インテグレーションタスクを実行します。

## 基本設定

| [Schema] (スキーマ)と[Edit Schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 |
| --- | --- |
|  | [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 |
|  | [Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 |
|  | スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> |
| [Map only] (Mapのみ) | カスタムマッパーのみを編集して使用する場合は、このチェックボックスをオンにします。その場合、[Map code] (Mapコード)編集フィールドと[Map advanced code] (Map詳細コード)エリアのみが使用できます。 |
| [Map code] (Mapコード) | 実行するMapメソッドのBodyを入力します。<br><br>このコンポーネントは、Mapメソッドのその他の部分を自動的に定義し、[Map only] (Mapのみ)を使用しない場合にも、tJavaMRはmrKeyStructテーブルとmrValueStructテーブルに指定されたカラム名を自動的に使用して、MapとReduceのフェーズの間にキー/値のペアの中間体をインスタンス化します。<br><br>たとえば、mrKeyStructテーブルにカラム名として*word*と入力します。次に、コードを書く時に、対応するキーインスタンスを表すために、*mrKey.word*と書く必要があります。また、ランタイムには、このインスタンスが*mrKey\_tJavaMR\_1.word*などのmrKey\_component\_ID.wordとして自動的に構成されます。<br><br>[Map code] (Mapコード)編集フィールドの上に表示されるテキストは、*mrKey*、*mrValue*、または*outputRow*など、コードを書く時に直接使用できるパラメーターを示します。<br><br>Mapメソッドおよびそれが出力する中間体のキー/値のペアについては、https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/Mapper.html (英語のみ)を参照してください。<br><br>Talend 固有のJava関数構文については、 *Talend Studio* のヘルプコンテンツ([Help] (ヘルプ) &gt; [Developer Guide] (開発者ガイド) &gt; [API Reference] (APIリファレンス))を参照してください。<br><br>完全なJavaリファレンスは、http://docs.oracle.com/javaee/6/api/を参照してください。 |
| mrKeyStructとmrValueStruct | これら2つのテーブルに、MapReduceの計算で必要なキー/値のペアを構成するために使用するカラムを追加します。 |
| [Reduce code] (Reduceコード) | 実行する必要のあるタスクに応じて、実行するReduceメソッドのBodyを入力します。<br><br>このコンポーネントは、シャッフルとソートのフェーズ、およびReduceメソッドのその他の部分を自動的に定義し、mrKeyStructテーブルとmrValueStructテーブルに指定されたカラム名を使用して、シャッフルおよびソートされたキー/値のペアをインスタンス化します。<br><br>たとえば、mrKeyStructテーブル内にカラム名として*word*と入力し、次に、コードを書く時に、対応するキーインスタンスを表すために、*key.word*と書く必要があります。また、ランタイムには、このインスタンスが*key\_tJavaMR\_1.word*などのkey\_component\_ID.wordとして自動的に構成されます。mrValueStructテーブルに*count*と入力します。次に、対応する値のインスタンスを定義するために*values.count*と書く必要があります。また、ランタイムには、このインスタンスが*values\_tJavaMR\_1.count*などのvalues\_component\_ID.countとして構成されます。<br><br>[Reduce code] (Reduceコード)編集フィールドの上に表示されるテキストは、コードを書く時に直接使用できるパラメーターを示します。<br><br>Reduceメソッドとその関連フェーズ、およびキー/値のペアについては、https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/Reducer.html (英語のみ)を参照してください。<br><br>Talend 固有のJava関数構文については、 Talend Studio のヘルプコンテンツ([Help] (ヘルプ) &gt; [Developer Guide] (開発者ガイド) &gt; [API Reference] (APIリファレンス))を参照してください。<br><br>完全なJavaリファレンスは、http://docs.oracle.com/javaee/6/api/を参照してください。 |

## 詳細設定

| [Map advanced code] (Map詳細コード) | このエリアでは、[Basic settings] (基本設定)ビューで定義したMapメソッドと共に使用するクラス、変数、およびメソッドを指定できます。tJavaMRを使用するのに詳細コードは不要です。<br><br>その目的に使用できるフィールドは3つあります。<br><br>[Implement the prepare code] (準備コードの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのマッパーのパブリッククラスに属するBodyにネストする変数、メソッド、および内部クラスを定義します。<br><br>[Implement the configure method] (Configureメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのマッパーに対するConfigureメソッドのBodyを定義します。<br><br>[Implement the close method] (Closeメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのマッパーに対するCloseメソッドのBodyを定義します。 |
| --- | --- |
| [Reduce advanced code] (Reduce詳細コード) | このエリアでは、[Basic settings] (基本設定)ビューで定義したReduceメソッドと共に使用するクラス、変数、およびメソッドを指定できます。tJavaMRを使用するのに詳細コードは不要です。<br><br>その目的に使用できるフィールドは3つあります。<br><br>[Implement the prepare code] (準備コードの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのReducerのパブリッククラスに属するBodyにネストする変数、メソッド、および内部クラスを定義します。<br><br>[Implement the configure method] (Configureメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのReducerに対するConfigureメソッドのBodyを定義します。<br><br>[Implement the close method] (Closeメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのReducerに対するCloseメソッドのBodyを定義します。 |

## グローバル変数

| グローバル変数 | ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。<br><br>変数の詳細は、*Talend Studio* *ユーザーガイド*をご覧ください。 |
| --- | --- |

## 使用方法

| **使用ルール** | Map/Reduceジョブがワークスペースで開かれると、tJavaMRがStudioの[Palette] (パレット)に表示されます。これは、Map/Reduceジョブで中間ステップとして使用されます。<br><br>本書では、特に明記されていない限り、標準ジョブ、つまり従来の Talend データ統合ジョブ、およびMap/Reduce以外のジョブのシナリオで説明しています。 |
| --- | --- |
| [Hadoop Connection] (Hadoop接続) | [Run] (実行)ビューの[Hadoop Configuration] (Hadoop設定)タブを使用して、ジョブ全体で特定のHadoopディストリビューションに対する接続を定義する必要があります。<br><br>この接続は、ジョブごとに有効になります。 |