kettle的入门

kettle是一个用java写的开源ETL工具,工作中用到了,分享一下使用

安装:
下载解压即可:
下载地址   https://nchc.dl.sourceforge.net/project/pentaho/Data%20Integration/7.1/pdi-ce-7.1.0.0-12.zip

解压完成后,安装环境变量
vim ~/.bash_profile下编辑
编辑完成后source bash_profile即可。
进入解压目录 sh spoon.sh即可运行
运行效果如下
kettle的入门_第1张图片
注意,最新版本需要JDK1.8

安装完成后就可以使用了
kettle文件有二种类型 job 和 trans(转换) ,job从类型上看应该是trans的扩展版本
job:job中可以直接调用转换
kettle的入门_第2张图片
trans:
kettle的入门_第3张图片

kettle的入门_第4张图片

介绍一下常用的组件
设置变量
可以设置job内的全局变量,我这边直接是从配置文件读取
kettle的入门_第5张图片
数据库的配置
kettle的入门_第6张图片
Json格式数据的处理
kettle的入门_第7张图片
java脚本
kettle的入门_第8张图片
这里详细说一下,java脚本必须要实现如下的方法
public boolean processRow (StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
}
kettle的入门_第9张图片
双击此处Main可以快速生成如上方法

可以引用额外的方法
kettle的入门_第10张图片
但是你的lib下或者项目中必须要有对应的jar,否则报错
kettle的入门_第11张图片
获取输出字段
 Object[] r = getRow ();
  if (r == null) {
    setOutputDone ();
    return false;
  }
  r = createOutputRow(r, data.outputRowMeta.size());
新增输出字段如下
获取指定的输入字段
  String zhengxinJson = get(Fields.In, "limuzhengxinJson" ).getString(r);

字段的过滤和修改
kettle的入门_第12张图片
行转列
这个是将横表改成纵表,由于需求变更,对应的部分被我删除了,后续再补上
数据的入库
kettle的入门_第13张图片
数据直接的连接
kettle的入门_第14张图片


kettle的日志配置
kettle的入门_第15张图片

库表的记录如下
kettle的入门_第16张图片

配置文件加载,配置在命名参数里面即可   
kettle的入门_第17张图片


上面做好,会生成对应的job/trans文件
kettle的入门_第18张图片


java的调度
文件生成好,如何在项目里调用了?
1.新增依赖
< kettle.version > 8.0.0.1-67 kettle.version >

    pentaho-kettle
    kettle-core
    ${kettle.version}
   
       
            jug-lgpl
            jug-lgpl
       
       
            org.apache.commons
            commons-vfs2
       
       
            secondstring
            secondstring
       
       
            org.slf4j
            slf4j-log4j12
       
       
            xercesImpl
            xerces
       
       
            org.apache.xmlgraphics
            batik-js
       
   
    com.verhas
    license3j
    1.0.7
    pentaho-kettle
    kettle-dbdialog
    ${kettle.version}
    pentaho-kettle
    kettle-engine
    ${kettle.version}
    pentaho
    metastore
    ${kettle.version}
    com.google.guava
    guava
    19.0
    org.pentaho.di.plugins
    kettle-json-plugin-core
    8.0.0.0-28
    org.pentaho.di.plugins
    kettle-json-plugin
    8.0.0.0-28
    zip

你可能感兴趣的:(第三方工具)