ETL之kettle进行二次开发简单demo

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

demo,利用kettle的api,将一个数据源中的信息导入到另外一个数据源中:[java]view plain copy

1.package .saidi.job;

2.

3.import mons.io.FileUtils;

4.import org.pentaho.di.core.KettleEnvironment;

5.import org.pentaho.di.core.database.DatabaseMeta;

6.import org.pentaho.di.core.exception.KettleDatabaseException;

7.import org.pentaho.di.core.exception.KettleXMLException;

8.import org.pentaho.di.core.plugins.PluginRegistry;

9.import org.pentaho.di.core.plugins.StepPluginType;

10.import org.pentaho.di.trans.TransHopMeta;

11.import org.pentaho.di.trans.TransMeta;

12.import org.pentaho.di.trans.step.StepMeta;

13.import org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta;

14.import org.pentaho.di.trans.steps.tableinput.TableInputMeta;

15.

16.import java.io.File;

17.

18./**

19. * Created by 戴桥冰 on 2017/1/16.

20. */

21.public class TransDemo {

22.

23.public static TransDemo transDemo;

24.

25./**

26. * 两个库中的表名

27. */

28.public static String bjdt_tablename = "test1";

29.public static String kettle_tablename = "test2";

30.

31./**

32. * 数据库连接信息,适用于DatabaseMeta其中一个构造器

DatabaseMeta(String xml)

33. */

34.public static final String[] databasesXML = {

35.

36."" +

37."" +

38."bjdt" +

39."192.168.1.122" +

40."Mysql" +

41."Native" +

42."daiqiaobing" +

43."3306" +

44."root" +

45."root" +

46."",

47."" +

48."" +

49."kettle" +

50."192.168.1.122" +

51."Mysql" +

52."Native" +

53."daiqiaobing" +

54."3306" +

55."root" +

56."root" +

57.""

58.

59. };

60.

61.public static void main(String[] args) {

62.try {

63. KettleEnvironment.init();

64. transDemo = new TransDemo();

65. TransMeta transMeta = transDemo.generateMyOwnTrans();

66. String transXml = transMeta.getXML();

67. String transName = "etl/update_insert_Trans.ktr";

68. File file = new File(transName);

69. FileUtils.writeStringToFile(file, transXml, "UTF-8");

70. System.out.println(databasesXML.length+"\n"+databasesXML[0]+"\n"

+databasesXML[1]);

71. } catch (Exception e) {

72. e.printStackTrace();

73.return;

74. }

75. }

76.

77./**

78. * 生成一个转化,把一个数据库中的数据转移到另一个数据库中,只有两个步骤,第一个是

表输入,第二个是表插入与更新操作

79. * @return

80. * @throws KettleXMLException

81. */

相关文档
最新文档