データレコードをフィルター処理するジョブスクリプトの作成
この例では、ジョブスクリプトを記述して、CSVファイルを読み取り、指定された条件に基づいてデータレコードをフィルター処理し、次に概要情報を表示するジョブを定義する方法を示します: ソースファイルから読み取ったレコードの合計数、承認済みレコードの数、およびリジェクトレコードの数。
このジョブには、以下のコンポーネントが含まれます。
-
tFileInputDelimitedコンポーネント。人物情報を含むソースCSVファイルを読み取ります。このソースファイルは、以下のとおり、5つのカラムで構成されています。
name;gender;age;city;marriageStatus Van Buren;M;73;Chicago;married Adams;M;40;Albany;single Jefferson;F;66;New York;married Adams;M;9;Albany;- Jefferson;M;30;Chicago;single Carter;F;26;Chicago;married Harrison;M;40;New York;married Roosevelt;F;15;Chicago; Monroe;M;8;Boston;- Arthur;M;20;Albany;married Pierce;M;18;New York;- Quincy;F;83;Albany;married McKinley;M;70;Boston;married Coolidge;M;4;Chicago;- Monroe;M;60;Chicago;single ----- end of file --------
-
tReplicateコンポーネント。入力データを2つのデータ出力フロー内に複製します。1つのフローは未処理データとしてコンソールに表示され、もう一つのフローはカラムフィルターで処理されます。
-
tFilterColumnsコンポーネント。不要なカラムmarriageStatusを除去します。
-
tFilterRowコンポーネント。データをフィルター処理して、以下の2つのテーブルに出力します。
-
1つのテーブルには、姓が9文字未満で、年齢が10歳から80歳までの全男性が格納されます。
-
もう一つのテーブルには、リジェクトされたすべてのレコード、およびそのレコードがなぜリジェクトされたのかを示すエラーメッセージが格納されます。
-
-
3つのtLogRowコンポーネント: 1番目のコンポーネントは未処理データを表示し、2番目のコンポーネントは、承認されたレコードを表示し、3番目のコンポーネントは、リジェクトされたレコードとエラーメッセージを表示します。
-
tJavaコンポーネント。要約情報を表示します。
以下、このジョブスクリプトをジョブスクリプトエディターで作成する手順を示します。まず最初に、必要なコンポーネントを追加します。空のジョブスクリプトの作成方法については、ジョブスクリプトの作成方法をご覧ください。