java调用kettle例子_Kettle API - Java调用示例

Kettle API - Java调用示例

对向前兼容性的推荐:如果想要动态地创造Transformation (例如:从元数据),使用XML文件方法(KTR)而不是使用API。XML文件兼容Kettle所有版本,同样对job有效的。

1.下面的例子进行以下操作:

1创建Transformation

2保存Transformation信息到XML文件

3获取在目标表操作的SQL

4执行Transformation

5drop目标表,使这个示例可以重复。

// 创建“复制表”的transformation元数据.

TransMeta transMeta = TransBuilder.buildCopyTable(

transformationName,

sourceDatabaseName,

sourceTableName,

sourceFields,

targetDatabaseName,

targetTableName,

targetFields

);

// 保存为文件:

String xml = transMeta.getXML();

DataOutputStream dos = new DataOutputStream(new FileOutputStream(new File(fileName))); dos.write(xml.getBytes("UTF-8"));

dos.close();

System.out.println("Saved transformation to file: "+fileName);

//获取在目标表操作的SQL

String sql = transMeta.getSQLStatementsString();

// 在目标表执行sql:

Database targetDatabase = new Database(transMeta.findDatabase(targetDatabaseName)); targetDatabase.connect();

targetDatabase.execStatements(sql);

//现在执行transformation

Trans trans = new Trans(transMeta);

trans.execute(null);

trans.waitUntilFinished();

//为了重复测试,再次drop目标表

targetDatabase.execStatement("drop table "+targetTableName);

targetDatabase.disconnect();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值