BI:Kettle取得コマンドラインパラメータとJava呼び出しKettle伝達パラメータ

1151 ワード

この例は、指定されたIDを抽出するデータおよびすべてのデータ機能をサポートするデータ抽出を実現することを目的としており、指定されたIDはJavaを介して伝達される.次のようにJavaのローカル変換ファイルを呼び出します.String[]paramsはパラメータです.例では、「123」、「234」の2つのパラメータが渡されます.渡されたパラメータはすべて文字列タイプで、使用時に特定のフォーマットに変換する必要があります.
	/**
	 *          (   )
	 * 
	 * @Description:
	 * @param transFileName
	 * @throws KettleException
	 * @author    
	 * @since:2012-8-15   02:58:54
	 */
	public static void callNativeTransWithParam(String transFileName) throws KettleException {
		//    
		EnvUtil.environmentInit();
		StepLoader.init();
		//      
		TransMeta transMeta = new TransMeta(transFileName);
		//   
		Trans trans = new Trans(transMeta);
		String[] params = {"123", "234"}; //     
		//     
		trans.execute(params);
		//         
		trans.waitUntilFinished();
	}

Kettleを設計するには、入力取得システム情報ステップを使用して処理する必要があります.次の図のように、最初のパラメータ、すなわち、上のコードで渡された「123」を取得します.
次に、取得IDステップと次のステップを接続し、この例の次のステップを表に入力します.
次に、表を編集してステップ取得パラメータを入力し、次の図のように、ステップからデータを挿入し、ID取得ステップを選択し、上の「SQL文の変数の置換」にチェックを入れます.
最後にテーブル入力のSQLを変更し、使用しますか?タグ変数、次の図:
上記の文はlikeを使用して処理されます.すなわち、パラメータが渡された場合、パラメータに基づいてクエリーが行われます.そうしないと、すべてのデータがクエリーされます.