Pentaho的下载与安装及其简单实用

原创
2019/12/20 15:30
阅读数 524

一、首先去官网,因为是纯英文的。所以将其进行了翻译。

https://community.hitachivantara.com/s/article/data-integration-kettle

点击以下画红色框的线,对其进行下载。

下载完毕后,将其进行解压

Kettle是纯JAVA编程的开源软件,本地环境配置JDK1.7以上即可运行,解压后直接使用无需安装。

二、在环境变量中配置pentaho_java_home变量。值就是本地的jdk路径

配置完毕后,点击Spoon.bat

打开后耐心等待一会儿。

三、创建数据库的连接

点击转换,切换主对象树。可以看到DB连接。点击DB连接。

选择mysql的连接。输入相关的连接信息。

然后点击测试,出现以下的错误。

这是由于没有mysql的驱动包所导致的。所以要在pdi-ce-8.3.0.0-371\data-integration\lib下放入mysql的驱动包。找到对应的mysql版本的驱动包,如下载版本过低的驱动包会出现。Unknown system variable 'query_cache_size'这个错误,从而连接不到数据库。

我这下载的是mysql-connector-java-5.1.8.jar这个驱动包。可以看到测试连接成功。

点击确认

四、同步数据

新建一个转换,从输入输出里面各拖出来一个输入和输出。

在表输入里面选择数据连接,或者新建连接

然后点击获取sql查询语句

选择你要输入的表-点击确定

一旦点击是就会报出以下错误。

猜测是mysql数据库版本与mysql连接驱动(mysql-connector-java)版本冲突导致

当前环境如下:
执行:select version();

mysql-connector-java版本为5.1.8

尝试了不同版本的连接驱动:

最终发现5.1.47完美解决问题

解释:
jdbc在连接数据库时候会发送测试语句SET OPTION SQL_SELECT_LIMIT=DEFAULT,而mysql 5.6及以上版本已经不支持此语句。

执行完sql 会如下图

将A表中的字段插入到B表中

表输出,就是单纯地将数据输出到另一个表。

表输出的设置:

运行结果(user_copy 表数据):将A表数据复制到B表中

我们第二次运行后,kettle 就会报错,说主键已经存在

这就表示表输出只能输出一次,如果目标表中已经存在相应的主键,则不会进行更新,会报错。

如果我们修改下表输出的设置,我们来指定下输出字段:

运行结果(user_copy 表数据):

https://blog.csdn.net/qqfo24/article/details/82190535

https://blog.csdn.net/qqfo24/article/details/82190535

可以参考这个网址对把一个表的数据更新或者新增到新的一个表中。

操作步骤如下:

点击核心对象,新建转化

然后再点击主对象树,选择DB进行连接

点击完后,点击核心对象。选择输入。点击表输入。

然后点击插入/更新

现在我们来看看User表中的数据

然后来看看test表中的数据

然后双击插入/更新

这个图只是一些说明,下图是我自己操作图。

点击确定。然后运行这个转换

点击启动,并进行保存

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

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

现在我们来看test表,就可以看到id为4的数据由订单,更新成方法了

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

点击通用

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

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

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

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

我在user表中新增一条id为1的数据

现在运行这个作业

后来发现一个小时太久了,我又设置成3分钟。运行结果

现在我们来看看数据库中test中是否有问问的那条数据

以上截图说明了定时脚本插入成功。

想要定时任务重复操作,勾选重复这项

想要一致运行这个脚本就不需要停止。如果不想跑这个脚本就点击停止的按钮。

总结

插入更新由于可以更新数据,用的比较多。

表输出,容易插入重复数据,请慎用。

定时作业,开启可以自动的更新数据,减少人工操作的成本。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部