データレコードをフィルター処理するジョブスクリプトを作成する - 7.0

データレコードをフィルター処理するジョブスクリプトを作成する

author
Talend Documentation Team
EnrichVersion
7.0
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
task
ジョブデザインと開発 > サードパーティーシステム > カスタムコードコンポーネント > Javaカスタムコードコンポーネント
ジョブデザインと開発 > サードパーティーシステム > ファイルコンポーネント > 列区切り文字付き
ジョブデザインと開発 > サードパーティーシステム > プロセス制御コンポーネント
ジョブデザインと開発 > サードパーティーシステム > ロギングコンポーネント
ジョブデザインと開発 > サードパーティーシステム > 変換処理コンポーネント
データガバナンス > サードパーティーシステム > カスタムコードコンポーネント > Javaカスタムコードコンポーネント
データガバナンス > サードパーティーシステム > ファイルコンポーネント > 列区切り文字付き
データガバナンス > サードパーティーシステム > プロセス制御コンポーネント
データガバナンス > サードパーティーシステム > ロギングコンポーネント
データガバナンス > サードパーティーシステム > 変換処理コンポーネント
データクオリティとプレパレーション > サードパーティーシステム > カスタムコードコンポーネント > Javaカスタムコードコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > ファイルコンポーネント > 列区切り文字付き
データクオリティとプレパレーション > サードパーティーシステム > プロセス制御コンポーネント
データクオリティとプレパレーション > サードパーティーシステム > ロギングコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > 変換処理コンポーネント
EnrichPlatform
Talend CommandLine
Talend Studio
この例では、1つの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コンポーネント。要約情報を表示します。

以下、このジョブスクリプトをジョブスクリプトエディターで作成する手順を示します。まず最初に、必要なコンポーネントを追加します。空のジョブスクリプトの作成方法については、ジョブスクリプトの作成方法を参照して下さい。