// filter records - accept men between 10 and 80 whose names are shorter than 9 characters addComponent { setComponentDefinition { TYPE: "tFilterRow", NAME: "tFilterRow_1", POSITION: 640, 224 } }コードをクリップボードにコピーします
// filter records - accept men between 10 and 80 whose names are shorter than 9 characters addComponent { setComponentDefinition { TYPE: "tFilterRow", NAME: "tFilterRow_1", POSITION: 640, 224 } }
setSettings { LOGICAL_OP : "&&", CONDITIONS { INPUT_COLUMN : "name", FUNCTION : "$source == null? false : $source.length() $operator $target", OPERATOR : "<", RVALUE : "9", INPUT_COLUMN : "gender", FUNCTION : "", OPERATOR : "==", RVALUE : "\"M\"", INPUT_COLUMN : "age", FUNCTION : "", OPERATOR : ">", RVALUE : "10", INPUT_COLUMN : "age", FUNCTION : "", OPERATOR : "<", RVALUE : "80" }, LABEL : "filter_records" }コードをクリップボードにコピーします
setSettings { LOGICAL_OP : "&&", CONDITIONS { INPUT_COLUMN : "name", FUNCTION : "$source == null? false : $source.length() $operator $target", OPERATOR : "<", RVALUE : "9", INPUT_COLUMN : "gender", FUNCTION : "", OPERATOR : "==", RVALUE : "\"M\"", INPUT_COLUMN : "age", FUNCTION : "", OPERATOR : ">", RVALUE : "10", INPUT_COLUMN : "age", FUNCTION : "", OPERATOR : "<", RVALUE : "80" }, LABEL : "filter_records" }
メタ文字を指定する場合、必ずバックスラッシュ(\)を使用してください。
この例では、tFilterRowコンポーネントは2つの出力フローで構成されています。1つは承認済みのレコードを含み、直前のコンポーネントtFilterColumnsで定義されているスキーマ構造と同じスキーマ構造になります。もう一つの出力フローはリジェクトされたレコードを含み、ここにはerrorMessageのカラムも含まれます。errorMessageカラムはリジェクトフローでは必須で、固定プロパティを含みます。このカラムを定義しない場合でも、Talend Studioはジョブの生成時に自動的にこのカラムを追加します。
// define the schema for the accepted records addSchema { NAME: "ACCEPT", CONNECTOR: "FILTER" addColumn { NAME: "name", TYPE: "id_String" } addColumn { NAME: "gender", TYPE: "id_String" } addColumn { NAME: "age", TYPE: "id_Integer", LENGTH: 2 } addColumn { NAME: "city", TYPE: "id_String" } } // define the schema for the rejected records addSchema { NAME: "REJECT", CONNECTOR: "REJECT" addColumn { NAME: "name", TYPE: "id_String" } addColumn { NAME: "gender", TYPE: "id_String" } addColumn { NAME: "age", TYPE: "id_Integer", LENGTH: 2 } addColumn { NAME: "city", TYPE: "id_String" } addColumn { NAME: "errorMessage", TYPE: "id_String", NULLABLE: true, LENGTH: 255, PRECISION: 0 } }コードをクリップボードにコピーします
// define the schema for the accepted records addSchema { NAME: "ACCEPT", CONNECTOR: "FILTER" addColumn { NAME: "name", TYPE: "id_String" } addColumn { NAME: "gender", TYPE: "id_String" } addColumn { NAME: "age", TYPE: "id_Integer", LENGTH: 2 } addColumn { NAME: "city", TYPE: "id_String" } } // define the schema for the rejected records addSchema { NAME: "REJECT", CONNECTOR: "REJECT" addColumn { NAME: "name", TYPE: "id_String" } addColumn { NAME: "gender", TYPE: "id_String" } addColumn { NAME: "age", TYPE: "id_Integer", LENGTH: 2 } addColumn { NAME: "city", TYPE: "id_String" } addColumn { NAME: "errorMessage", TYPE: "id_String", NULLABLE: true, LENGTH: 255, PRECISION: 0 } }
このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。