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();

java调用kettle例子_Kettle API - Java调用示例相关推荐

  1. java 调用kettle job 传参_java调用kettle向job(任务)和transformation(转换)传递参数实例...

    虽然网上文章有说java可以传递参数给kettle,不过只找到了传递参数给转换的文章,没有讲参数传递给job,kettle中如何使用java传递的参数.今天就以上问题,一并共享. /** * 本测试类 ...

  2. java调用kettle连hive_使用java连接hive,并执行hive语句详解

    安装hadoop 和 hive我就不多说了,网上太多文章 自己看去 首先,在机器上打开hiveservice hive --service hiveserver -p 50000 & 打开50 ...

  3. java 停止kettle转换_通过java运行Kettle转换

    我创建了一个Java应用程序(试点)来运行水壶转换.这很简单,我只有主要的方法,得到一个.ktr文件并执行它. public static void main( String[] args ) { t ...

  4. java Compiler API (java编译api)

    在早期的版本中(Java SE5及以前版本)中只能通过tools.jar中的com.sun.tools.javac包来调用Java编译器,但由于tools.jar不是标准的Java库,在使用时必须要设 ...

  5. Java包括jvm及API,Java基础(下)(JVM、API)

    Java基础(下) 第三部分:Java源程序的编辑 我们知道,计算机是不能直接理解源代码中的高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译 ...

  6. java 8 新特性 时间api使用实例

    2019独角兽企业重金招聘Python工程师标准>>> java 8 提供的 时间api java.time 比原来的Calendar 方便很多.主要提供了 日期类:LocalDat ...

  7. cucumber java从入门到精通_cucumber java从入门到精通(4)Scenario Outline及数据驱动...

    cucumber java从入门到精通(4)Scenario Outline及数据驱动 到目前为止,我们的TodoList类工作良好,不过离我们的预期--任务清单系统还是有不少差距,究其原因不过如下: ...

  8. java调用kettle批量执行

    java调用kettle批量执行 之前只做了一个java调用单一ktr的例子,在用web程序控制ETL数据抽取过程的时候,难免会遇到要执行一个复选框列表的ktr,那么前段传过来的就不仅仅是一个ktr: ...

  9. Java调用腾讯会议Api示例

    最近疫情严重,公司准备出一个在线视频会议功能,需要调用腾讯会议的API,经过查看腾讯的api文档和与腾讯技术人员交流,终于能成功调用Api接口了! 腾讯会议官方API:https://cloud.te ...

最新文章

  1. PowerBI随笔(6)-filter、caculate、RELATED相关
  2. Spring整合junit4实现对方法的测试
  3. LintCode: 3 Sum
  4. 安装codeblocks和wxwidgets及opencv
  5. Java编程语言基础 第三章 实现会员信息录入功能
  6. 修改文件 火车票买下铺_火车票怎么买到下铺
  7. 软件测试-APP专项测试
  8. 步进电机代替舵机方案
  9. pandas警告SettingWithCopyWarning: A value is trying to ...原理和解决方案
  10. Latex 摘要排版
  11. (求助)RPC failed;curl 56 GnuTLS recv error(-9): A TLS packet with unexpected length was received
  12. python练习题17
  13. 一次Ajax报错:“存储空间不足,无法完成此操作”的解决经验
  14. 函数和绝对值函数可导,可积,连续,极限间的关系
  15. 基于脉振高频电流注入的永磁同步电机无感FOC
  16. 初中生用计算机作弊,初中生“考试作弊”惯用的3个手段,全中是学渣,学霸:长见识了...
  17. 曙光1620-G20装Windows server 2008教程
  18. 简单配置让您的无线小路由变成无线交换机
  19. vue获取图片流数据并展示
  20. 对如何学习Java的一点点看法

热门文章

  1. 【Error】IDEA报错:org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType cannot be cast t
  2. struts2.3.4 问题
  3. 《七哥说道》第五章:入职惨做苦力,画饼一望无际
  4. JSON格式数据与数据组件
  5. [Android] websocket客户端开发
  6. 转收藏:Git常用命令速查表
  7. 为《31天成为IT服务达人》征求正式名字
  8. 最长子串(FZU2128)
  9. Unity 利用Coroutine实现跳动数字效果
  10. Javascript高级程序设计第二版第十四章--异常--笔记