メイン コンテンツをスキップする 補完的コンテンツへスキップ

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

Availability-note非推奨

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

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

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

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

基本設定

[Schema] (スキーマ)[Edit Schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

 

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

 

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

[Map only] (Mapのみ)

カスタムマッパーのみを編集して使用する場合は、このチェックボックスをオンにします。その場合、[Map code] (Mapコード)編集フィールドと[Map advanced code] (Map詳細コード)エリアのみが使用できます。

[Map code] (Mapコード)

実行するMapメソッドのBodyを入力します。

このコンポーネントは、Mapメソッドのその他の部分を自動的に定義し、[Map only] (Mapのみ)を使用しない場合にも、tJavaMRmrKeyStructテーブルとmrValueStructテーブルに指定されたカラム名を自動的に使用して、MapとReduceのフェーズの間にキー/値のペアの中間体をインスタンス化します。

たとえば、mrKeyStructテーブルにカラム名としてwordと入力します。次に、コードを書く時に、対応するキーインスタンスを表すために、mrKey.wordと書く必要があります。また、ランタイムには、このインスタンスがmrKey_tJavaMR_1.wordなどのmrKey_component_ID.wordとして自動的に構成されます。

[Map code] (Mapコード)編集フィールドの上に表示されるテキストは、mrKeymrValue、または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/を参照してください。

mrKeyStructmrValueStruct

これら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ディストリビューションに対する接続を定義する必要があります。

この接続は、ジョブごとに有効になります。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。