特定のレコードだけをストリームデータ処理の対象にしたい場合,編集用コールバックとして,フィルターを使用します。
- 参考
- 「2.3.2 条件を満たすデータの抽出」で説明したように,CQLでもフィルター処理を実行できますが,処理効率向上のため,アダプターで実行することをお勧めします。
例えば,複数の観測所で気温を観測している場合に,特定の観測所の気温だけを集計・分析の対象としたいときは,観測所に与えられているIDでフィルタリングを実行してください。
フィルタリングの対象は,共通形式レコードです。入力元がファイルの場合,ファイル入力コネクターで入力形式レコードを抽出したあと,フォーマット変換で共通形式レコードに変換してからフィルターを使用してください。
フィルタリングの判定条件には,レコード形式,およびレコードに設定されている値を指定できます。レコードのフィルタリングでのコールバックの構成と処理の内容を次の図に示します。
図3-7 レコードのフィルタリングでのコールバックの構成と処理の内容
![[図データ]](figure/zd030400.gif)
- フィルターに入力されたレコードは,最初にレコード形式でフィルタリングされます。ここでは,レコード形式がR1のレコードだけを次の判定に掛けるように条件を指定しているため,この条件を満たすレコードが,次の判定の対象となります。条件を満たさないレコードは,次のコールバックに渡されます。
- レコード形式でフィルタリングしたあとは,レコードの値でフィルタリングします。ここでは,レコードの値に設定されているIDが1のレコードだけを次のコールバックに渡すように条件を指定しています。そのため,この条件を満たすレコードが,次のコールバックでの処理の対象となります。条件を満たさないレコードは,破棄されます。