このジョブでは、大きいデータのセットを処理する時、または入力フローが複雑である場合、処理時間を短縮するために、入力フローの結果は一時的な場所(ファイルとメモリ(キャッシュ)のどちらか)に保管されます。
このジョブは、次のコンポーネントを使用します。
- tFileInputDelimited、tReplicate、2つの入力フローを作成する2つのtMapコンポーネント。
- 2つのtHashOutputコンポーネントと一時的な場所からの結果を保管および使用するtHashinputコンポーネント。
- 3つ目のtMapコンポーネントとコンソールに結果を出力するtLogRow。
手順
-
ワークスペースにtFileInputDelimitedコンポーネント、Replicateコンポーネント、tMapコンポーネント、tHashOutputコンポーネントを追加し、それらの間に[Row > Main] (行 > メイン)リンクを作成して、上に示すように入力フローを2つ作成します。
-
2つのtFileOutputDelimitedコンポーネントかtHashOutputコンポーネントのどちらかを使って、結果をtMap_1またはtMap_2から任意の場所に保管します。
-
次に、tFileInputDelimitedコンポーネントを使って一時ファイルまたはtHashInputコンポーネントを使ってメモリから、サブジョブでデータを読み取ります。上記のジョブの例では、結果はメモリ内にキャッシュされます。
-
tHashIntput_1の[Basic settings] (基本設定)ビューで、[Component list] (コンポーネントリスト)ドロップダウンリストからtHashOutput_1を選択します。
この設定はtHashInput_1をtHashOutput_1にリンクします。
ヒント: tHashOutput_1は、tMap_1からメモリ内に結果をキャッシュするために使用されます。tHashOutput_2は、tMap_2からメモリ内に結果を使用するために使用されます。メモリからデータが取得されるには、tHashInput_1コンポーネントはtHashOutput_1コンポーネントと、tHashInput_2コンポーネントはtHashOuput_2コンポーネントとそれぞれリンクされている必要があります。
-
tHashIntput_2の[Basic settings] (基本設定)ビューで、[Component list] (コンポーネントリスト)ドロップダウンリストからtHashOutput_2を選択します。
この設定はtHashInput_2をtHashOutput_2にリンクします。
-
次に、tFileInputDelimitedコンポーネントを使って一時ファイルまたはtHashInputコンポーネントを使ってメモリから、サブジョブでデータを読み取ります。上記のジョブの例では、結果はメモリ内にキャッシュされます。