导航:首页 > 编程语言 > kettle脚本java

kettle脚本java

发布时间:2023-09-06 16:41:15

‘壹’ kettle中java脚本怎么使用

完整例子如下:

Java代码
String firstnameField;
String lastnameField;
String nameField;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
// 获取输入
//
Object[] r = getRow();
// 输入为空,直接false
//
if (r == null) {
setOutputDone();
return false;
}
// 处于性能考虑,parameter只查一次
//
if (first) {
firstnameField = getParameter("FIRSTNAME_FIELD");
lastnameField = getParameter("LASTNAME_FIELD");
nameField = getParameter("NAME_FIELD");
first=false;
}
// 用 createOutputRow() 来保证output的数组够大,能够装下任何新的域
//
Object[] outputRow = createOutputRow(r, data.outputRowMeta.size());
String firstname = get(Fields.In, firstnameField).getString(r);
String lastname = get(Fields.In, lastnameField).getString(r);
// Set the value in the output field
//
String name = firstname+" "+lastname;
get(Fields.Out, nameField).setValue(outputRow, name);
// putRow will send the row on to the default output hop.
//
putRow(data.outputRowMeta, outputRow);
return true;
}

‘贰’ kettle教程是什么

kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

kettle 的官网是https://community.hitachivantara.com/docs/DOC-1009855,github地址是https://github.com/pentaho/pentaho-kettle。

安装。

这边以 windows 下的配置为例,linux 下配置类似。

jdk 安装及配置环境变量。

由于 kettle 是基于 java 的,因此需要安装 java 环境,并配置 JAVA_HOME 环境变量。

建议安装 JDK1.8 及以上,7.0以后版本的 kettle 不支持低版本 JDK。

下载 kettle。

从 官网 下载 kettle ,解压到本地即可。

下载相应的数据库驱动。

由于 kettle 需要连接数据库,因此需要下载对应的数据库驱动。

例如 MySQL 数据库需要下载 mysql-connector-java.jar,oracle 数据库需要下载 ojdbc.jar。下载完成后,将 jar 放入 kettle 解压后路径的 lib 文件夹中即可。

注意:本文基于 pdi-ce-7.0.0.0-25 版本进行介绍,低版本可能有区别。

启动。

双击 Spoon.bat 就能启动 kettle 。

转换。

转换包括一个或多个步骤,步骤之间通过跳(hop)来连接。跳定义了一个单向通道,允许数据从一个步骤流向另一个步骤。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。

1、打开 kettle,点击 文件->新建->转换。

2、在左边 DB 连接处点击新建。

3、根据提示配置数据库,配置完成后可以点击测试进行验证,这边以 MySQL 为例。

4、在左侧找到表输入(核心对象->输入->表输入),拖到右方。

5、双击右侧表输入,进行配置,选择数据源,并输入 SQL。可以点击预览进行预览数据。

6、在左侧找到插入/更新(核心对象->输出->插入/更新),拖到右方。

7、按住 Shift 键,把表输入和插入/更新用线连接起来。

8、双击插入/更新进行配置。

9、点击运行,就可以运行这一个转换。

10、运行结束后,我们可以在下方看到运行结果,其中有日志,数据预览等,我们可以看到一共读取了多少条数据,插入更新了多少数据等等。

这样就完成了一个最简单的转换,从一个表取数据,插入更新到另一个表。

作业。

如果想要定时运行这个转换,那么就要用到作业。

1、新建一个作业。

2、从左侧依次拖动 START 、转换、成功到右侧,并用线连接起来。

3、双击 START,可以配置作业的运行间隔,这边配置了每小时运行一次。

4、双击转换,选择之前新建的那个转换。

5、点击运行,就能运行这次作业,点击停止就能停止。在下方执行结果,可以看到运行的日志。

这样就完成了一个最简单的作业,每隔1小时,将源表的数据迁移到目标表。

总结:kettle 是一个非常强大的 ETL 工具,通过图形化界面的配置,可以实现数据迁移,并不用开发代码。

通过它的作业,kettle 能自动地运行转换。

阅读全文

与kettle脚本java相关的资料

热点内容
java的webxml配置 浏览:962
如何封包远程注入服务器 浏览:864
监测机构资金动向源码 浏览:967
android状态栏字体50 浏览:767
python如何判断文件后缀 浏览:126
龙空app哪里下 浏览:348
阿里云服务器搭建网盘 浏览:689
京东软件程序员 浏览:805
php游戏服务器框架 浏览:391
导航开发算法 浏览:430
为什么30岁还想转行程序员 浏览:380
推荐算法的使用 浏览:40
javaswing表格 浏览:470
sql和python处理excel 浏览:109
家用材料制作解压玩具 浏览:914
c盘解压失败可以用空间吗 浏览:467
3d循环音乐哪个app好 浏览:771
压缩文件zip怎么解压不了 浏览:393
如何看苹果appstore软件是否收费 浏览:465
android发送字符串 浏览:15