Kettle的使用,优化及常见问题解决

本文介绍了如何使用Kettle进行数据抽取,从安装到解决常见的数据冲突和性能问题,包括分批处理大数据量、避免ID冲突和调整提交记录数。同时,讨论了全量与增量抽取的实现,并提到了通过定时任务和脚本来自动化抽取过程。
摘要由CSDN通过智能技术生成

最近公司实施不知道为什么离职了,然后我被迫去干kettle抽取数据到es,到金仓,到mysql...

一开始是各种报错,头都大了,后来经过多次查找翻阅,到现在遇到的问题都是可以解决的。

闲话少说,接下来就来讲讲kettle的使用及注意事项,常见报错处理。

首先是安装kettle,kettle的安装教程网上随处可见,我就不赘述了,安装很方便。

安装之后便是使用,kettle通过spoon.bat文件双击就可以直接启动,附图如下:

目前我使用它都是用来抽取数据的,因此抽数据肯定有一个来源和流向,来源和流向就看你的具体需求了,举个例子,从mysql抽取数据到elasticsearch,那我们就肯定需要建立相应的连接信息。

数据库连接:

然后填写相应的信息就可以,此外还需要将对应的jar包放到

此目录下,对应看具体的安装位置,默认是这样的。

然后就是es的配置了:如下图

其中index是你的es的索引名字,type是类型,默认一般是_doc 

 servers就是你的es的ip地址和端口号;

 fields就是映射的字段。

然后我们点击运行就可以了:

,成功或者失败会弹出一个控制台,有日志信息可以看到。

接下来讲讲一般遇到的问题

1.数据量极大,单表几百万条的那种,此时我们需要分批次,进行抽取,否则就可能会报错:nullpointexception

2.就是数据库的流向和来源数据冲突,比如来源数据有一条id为1的数据,但是流向也已经存在一条id为1的数据,这个问题我个人的解决方法是,从sql语句下手,将查询得到的id加上一定的数字,使他不重复,当然也看到过一个增加序列的方法,过于复杂,而且会改变表数据,我就没这么做。

3.还有就是一些由于自己配置不得当遇到的报错,多尝试还是不复杂的。

接下来介绍一下常用的全量抽取和增量抽取。

用俗话讲,全量抽取就是抽取所有数据,增量就是抽取相比原来上增加的数据。

这个全量抽取就是我们通常所用的直接抽取,增量抽取我们就需要在新建一个表输入,然后编写增量的条件的sql。

值得注意的是,抽取数据的速度可能会让你心烦,因为抽取数据的速度和你的电脑配置有着很大关系,但是仍然可以通过一些人为的方式,在一定程度上打破它的性能瓶颈。

下面介绍两个方法:

1.这个就比较简单了,修改提交记录数量,操作如下图:

 2.从kettle的配置文件入手,也就是修改spoon.bat的运行内存,但是此操作注意谨慎操作,千万要考虑清楚这么操作的后果,如果设置不当可能会导致你的kettle出一些奇怪的问题。

除此之外,还有大家常用的定时抽取,这个就是新建一个转换,然后选择start,转换,成功就可以了

值得注意的是,这种方式需要kettle程序始终运行。因此,我们也可以通过编写脚本文件,通过windows自带的定时任务程序来执行。

此次就是带来的kettle的相关使用及问题解决和注意事项,如有误还请不吝赐教。 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值