tJavaMR MapReduceプロパティ(非推奨)
これらのプロパティは、tJavaMRジョブのフレームワークで実行されているtHDFSOutputを設定するために使われます。
MapReduce tJavaMRコンポーネントは、カスタムコードファミリーに属しています。
このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend Platform製品すべて、およびTalend Data Fabricで利用できます。
MapReduceのフレームワークは、Talend 7.3以降非推奨となります。Apache SparkのTalendジョブを使って、インテグレーションタスクを実行します。基本設定
[Schema] (スキーマ)と[Edit Schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 |
[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 |
|
[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 |
|
スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
|
|
[Map only] (Mapのみ) |
カスタムマッパーのみを編集して使用する場合は、このチェックボックスをオンにします。その場合、[Map code] (Mapコード)編集フィールドと[Map advanced code] (Map詳細コード)エリアのみが使用できます。 |
[Map code] (Mapコード) |
実行するMapメソッドのBodyを入力します。 このコンポーネントは、Mapメソッドのその他の部分を自動的に定義し、[Map only] (Mapのみ)を使用しない場合にも、tJavaMRはmrKeyStructテーブルとmrValueStructテーブルに指定されたカラム名を自動的に使用して、MapとReduceのフェーズの間にキー/値のペアの中間体をインスタンス化します。 たとえば、mrKeyStructテーブルにカラム名としてwordと入力します。次に、コードを書く時に、対応するキーインスタンスを表すために、mrKey.wordと書く必要があります。また、ランタイムには、このインスタンスがmrKey_tJavaMR_1.wordなどのmrKey_component_ID.wordとして自動的に構成されます。 [Map code] (Mapコード)編集フィールドの上に表示されるテキストは、mrKey、mrValue、またはoutputRowなど、コードを書く時に直接使用できるパラメーターを示します。 Mapメソッドおよびそれが出力する中間体のキー/値のペアについては、https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/Mapper.html (英語のみ)を参照してください。 Talend 固有のJava関数構文については、 Talend Studio のヘルプコンテンツ([Help] (ヘルプ) > [Developer Guide] (開発者ガイド) > [API Reference] (APIリファレンス))を参照してください。 完全なJavaリファレンスは、http://docs.oracle.com/javaee/6/api/を参照してください。 |
mrKeyStructとmrValueStruct |
これら2つのテーブルに、MapReduceの計算で必要なキー/値のペアを構成するために使用するカラムを追加します。 |
[Reduce code] (Reduceコード) |
実行する必要のあるタスクに応じて、実行するReduceメソッドのBodyを入力します。 このコンポーネントは、シャッフルとソートのフェーズ、およびReduceメソッドのその他の部分を自動的に定義し、mrKeyStructテーブルとmrValueStructテーブルに指定されたカラム名を使用して、シャッフルおよびソートされたキー/値のペアをインスタンス化します。 たとえば、mrKeyStructテーブル内にカラム名としてwordと入力し、次に、コードを書く時に、対応するキーインスタンスを表すために、key.wordと書く必要があります。また、ランタイムには、このインスタンスがkey_tJavaMR_1.wordなどのkey_component_ID.wordとして自動的に構成されます。mrValueStructテーブルにcountと入力します。次に、対応する値のインスタンスを定義するためにvalues.countと書く必要があります。また、ランタイムには、このインスタンスがvalues_tJavaMR_1.countなどのvalues_component_ID.countとして構成されます。 [Reduce code] (Reduceコード)編集フィールドの上に表示されるテキストは、コードを書く時に直接使用できるパラメーターを示します。 Reduceメソッドとその関連フェーズ、およびキー/値のペアについては、https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/Reducer.html (英語のみ)を参照してください。 Talend 固有のJava関数構文については、 Talend Studio のヘルプコンテンツ([Help] (ヘルプ) > [Developer Guide] (開発者ガイド) > [API Reference] (APIリファレンス))を参照してください。 完全なJavaリファレンスは、http://docs.oracle.com/javaee/6/api/を参照してください。 |
詳細設定
[Map advanced code] (Map詳細コード) |
このエリアでは、[Basic settings] (基本設定)ビューで定義したMapメソッドと共に使用するクラス、変数、およびメソッドを指定できます。tJavaMRを使用するのに詳細コードは不要です。 その目的に使用できるフィールドは3つあります。 [Implement the prepare code] (準備コードの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのマッパーのパブリッククラスに属するBodyにネストする変数、メソッド、および内部クラスを定義します。 [Implement the configure method] (Configureメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのマッパーに対するConfigureメソッドのBodyを定義します。 [Implement the close method] (Closeメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのマッパーに対するCloseメソッドのBodyを定義します。 |
[Reduce advanced code] (Reduce詳細コード) |
このエリアでは、[Basic settings] (基本設定)ビューで定義したReduceメソッドと共に使用するクラス、変数、およびメソッドを指定できます。tJavaMRを使用するのに詳細コードは不要です。 その目的に使用できるフィールドは3つあります。 [Implement the prepare code] (準備コードの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのReducerのパブリッククラスに属するBodyにネストする変数、メソッド、および内部クラスを定義します。 [Implement the configure method] (Configureメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのReducerに対するConfigureメソッドのBodyを定義します。 [Implement the close method] (Closeメソッドの実装): このチェックボックスをオンにして表示されたフィールドに、このコンポーネントのReducerに対するCloseメソッドのBodyを定義します。 |
グローバル変数
グローバル変数 |
ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。 Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。 変数の詳細は、Talend Studioユーザーガイドをご覧ください。 |
使用方法
使用ルール |
Map/Reduceジョブがワークスペースで開かれると、tJavaMRがStudioの[Palette] (パレット)に表示されます。これは、Map/Reduceジョブで中間ステップとして使用されます。 本書では、特に明記されていない限り、標準ジョブ、つまり従来の Talend データ統合ジョブ、およびMap/Reduce以外のジョブのシナリオで説明しています。 |
[Hadoop Connection] (Hadoop接続) |
[Run] (実行)ビューの[Hadoop Configuration] (Hadoop設定)タブを使用して、ジョブ全体で特定のHadoopディストリビューションに対する接続を定義する必要があります。 この接続は、ジョブごとに有効になります。 |