メイン コンテンツをスキップする 補完的コンテンツへスキップ

レコードフィルターコンポーネントの定義

手順

  1. tFilterColumnsコンポーネントの次に、別のaddComponent {}関数とそのサブ関数のsetComponentDefinition {}を入力して、tFilterRowコンポーネントを追加します。
    // 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
    	}
    }
  2. setComponentDefinition {}関数の次に、setSettings {}関数を入力してフィルター条件を定義し、コンポーネントのラベルを設定します。
    	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"
    	}
    情報メモ警告:

    メタ文字を指定する場合、必ずバックスラッシュ(\)を使用してください。

  3. setSettings {}関数の次に、以下のスクリプトコードを入力して、出力フローのスキーマを定義します。

    この例では、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
    		}
    	}

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。