前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pentaho的下载与安装及其简单实用

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

作者头像
故久
发布2019-12-24 15:45:07
5.6K0
发布2019-12-24 15:45:07
举报
文章被收录于专栏:故久故久

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

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中是否有问问的那条数据

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

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

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

总结

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总结
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档