Kettle学习笔记009之脚本组件

主要介绍 【Java代码】组件,【SQL】组件,【Shell】组件

 

【Java代码】组件

序言:

【Java代码】组件是个自定义插件,用于当Kettle内置的组件无法满足需要的时候。

实例目标:把中文字符串转为拼音

第一步:将写好的getPinYin方法整块复制到processRow方法后面:

Kettle学习笔记009之脚本组件_第1张图片

第二步:然后修改processRow方法里面的/* TODO:部分,get(Fields.In, "name").getString(r),表示获取数据流中指定的字段数据;get(Fields.Out, "ename").setValue(r, ename),用于设置输出字段。还要在最上面导入相关类,具体代码如下:

第三步:在最下面配置一下输出字段信息,有几个输出字段就需要配置几行:

Kettle学习笔记009之脚本组件_第2张图片

第四步:导入依赖包,可以从代码中看出中文转拼音我是用的pinyin4j,向kettle lib目录下放入pinyin4j的jar包,然后重新启动Spoon

Kettle学习笔记009之脚本组件_第3张图片

【SQL】组件

(1) 作业中的SQL组件通常是用来执行DDL语句的。

实例:

第一步:建立作业

Kettle学习笔记009之脚本组件_第4张图片

第二步:编辑组件

Kettle学习笔记009之脚本组件_第5张图片

第三步:保存,运行

Kettle学习笔记009之脚本组件_第6张图片

【Shell】组件

(1)【Shell】组件是用来执行Windows下的批处理脚本,即bat文件。

实例:

第一步:建立作业

Kettle学习笔记009之脚本组件_第7张图片

第二步:编辑组件

a.  勾选【插入脚本】表示在该组件中写脚本,右侧的【脚本】选项卡即是写脚本的位置,若不勾选【插入脚本】,则是通过执行指定脚本文件的方式。不建议勾选【插入脚本】选项,因为勾选【插入脚本】后,Kettle运行Shell的时候会先将脚本内容写到一个临时批处理文件中再去执行,很容易出现中文乱码情况。

b.【脚本文件名】配置项,用于指定批处理脚本文件位置,勾选【插入脚本】后,该项不可配置。

c.【工作路径】配置项,用于指定脚本工作路径,通俗的说,就是在哪个目录下运行这个脚本。

d.  最下面的【字段】列表,用于配置脚本入参,可以使用参数变量。

Kettle学习笔记009之脚本组件_第8张图片

第三步:编写脚本文件内容

::关闭回显

@echo off

::进入脚本所在目录

cd  /D %~dp0

::在当前目录创建文件夹ShellTest

mkdir  ShellTest

::复制脚本文件到ShellTest目录

copy Shell-test.bat shellTest

echo %1> ShellTest\hello.txt

第四步:保存运行。

提示:转换-应用分组下有一个【运行SSH命令】的组件,是向Linux操作系统下远程执行Linux Shell的,有兴趣的可以去看看。

你可能感兴趣的:(Kettle)