ジョブからのフローメトリックの捕捉
次の基本的なジョブは、処理されるフローで渡される行数を捕捉することを目的としています。測定は、入力コンポーネント後の1回、つまりフィルタリングステップの前とフィルタリングステップの直後の1回、つまり出力コンポーネントの前に2回行われます。
Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。
-
[Palette] (パレット)から次のコンポーネントをデザインワークスペース、tMysqlInput、tFlowMeter(x2)、tMap、tLogRow、tFlowMeterCatcher、およびtFileOutputDelimitedにドロップします。
-
行のメイン接続を使用してコンポーネントをリンクし、ラベルをクリックすると、入力コンポーネントからのUS_StatesやtMapコンポーネントからの出力のfiltered_statesなど、ジョブ全体で一貫した名前を付けることができます。
-
データが渡される時に行のメインリンクを使用してtFlowMeterCatcherをtFileOutputDelimitedコンポーネントにリンクします。
-
tMysqlInputコンポーネントビューで、テーブルのメタデータがリポジトリーに格納されている場合は、接続のプロパティを[Repository] (リポジトリー)として構成します。または、タイプを[Built-in] (組み込み)として設定し、このジョブ用に組み込みの場合は、手動で接続とスキーマの詳細を設定するために使われます。
-
米国の50州がテーブルの状態で記録されています。テーブルの50のエントリーをすべて選択するには、Mysqlデータベース上で実行するクエリーを次のようにします。
select * from states.
-
詳細設定の垂直タブで、該当する[encoding type] (エンコーディングのタイプ)を選択します。
-
次に、tFlowMeterである以下のコンポーネントを選択し、そのプロパティを設定するために使われます。
-
ログ出力ファイル(tFileOutputDelimited)で選択したラベルを再利用するには、入力接続名をラベルとして使用するチェックボックスをオンにします。
-
このモードでは、基準フローがないため絶対的です。また、このサンプルではしきい値を設定しません。
[Thresholds] (しきい値)情報は、フロープロセスの比例表現を得るために、 Talend Activity Monitoring Console などの管理ツール内で使用されます。詳細は、Talend Activity Monitoring Consoleユーザーガイドをご覧ください。
-
次に、tMapエディタを起動してフィルタリングプロパティを設定します。
-
このユースケースでは、tMapの入力エリアからIDエリアと状態カラムをドラッグして出力エリアに向けてドロップします。このサンプルでは、変数は使用されません。
-
出力フローエリア(このサンプルではfiltered_statesというラベルが付けられている)で、矢印ボタンとプラスボタンをクリックして、式フィルターフィールドを有効にします。
-
入力エリア(row2)から[State] (状態)カラムをエクスプレッションフィルターフィールドにドラッグし、エクスプレッションの残りの部分を入力して、文字Mで始まる状態ラベルにフィルターを適用します。最後の式は次のようになります: row2.State.startsWith("M")
-
[OK]をクリックして設定を検証します。
-
次に、2番目のtFlowMeterのコンポーネントを選択し、そのプロパティを設定するために使われます。
-
[Use input connection name as label] (入力接続名をラベルとして使用)のチェックボックスをオンにします。
-
モードとして[Relative] (相対的)を選択し、[Reference connections] (参照接続)リストで、測定する参照としてUS_Statesを選択します。
-
ここでも、このユースケースにはしきい値は使用されていません。
-
tLogRowに特別な設定は必要ありません。
-
このコンポーネントのプロパティとしてのtFlowMeterCatcherも、標準的なログ情報を含むプリセットスキーマに制限されていません。
-
最終的なログ出力コンポーネント(tFileOutputDelimited)を設定するために使われます。
-
すべてのtFlowMeter測定値を記録するには、[Append] (追加)チェックボックスをオンにします。
-
ジョブを保存し、[F6]を押して実行します。
[Run] (実行)ビューには、ジョブで定義されているフィルタリングされた状態ラベルが表示されます。
区切られたcsvファイルでは、フィルタリングが実行されると、カラム[count] (カウント)に表示される行数がtFlowMeter1とtFlowMeter2の間で変化します。[Reference] (参照)カラムにもこの違いが示されています。