当前位置:   article > 正文

Kettle 的简单介绍_kettle介绍

kettle介绍

前文:

             作为一款主流ELT工具,比同类数据抽取工具DataX、Sqoop更加强大,可以通过图形化界面直接对接各个数据源,进行任何数据格式的数据转换及处理。

一、核心:作业及转换

转换(步骤流):数据输入——处理逻辑——输出

专业(工作流):Start——转换1——转换2——成功/失败——邮件

二、简单转换流程

1、配置连接

2、添加组件并进行启动执行

3、查看作业相关参数性能

二、作业操作

说明:Start——多个转换模块——写日志、发邮件等等。。

通过Start可以设置定时执行

三、大数据平台相关配置

1、不同平台环境

选择如:hdp30文件夹存放

 

2、配置文件  pdi-ce-9.0.0.0-423\data-integration\plugins\pentaho-big-data-plugin\plugin.properties

四、调优

1、调整JVM大小进行性能优化,修改Kettle根目录下的Spoon脚本。

 

参数参考:

-Xmx2048m:设置JVM最大可用内存为2048M。

-Xms1024m:设置JVM促使内存为1024m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xmn2g:设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。

-Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。

2、 调整提交(Commit)记录数大小进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commitsize:1000~50000

3、尽量使用数据库连接池;

4、尽量提高批处理的commit size;

5、尽量使用缓存,缓存尽量大一些(主要是文本文件和数据流);

6、Kettle是Java做的,尽量用大一点的内存参数启动Kettle;

7、可以使用sql来做的一些操作尽量用sql;

Group , merge , stream lookup,split field这些操作都是比较慢的,想办法避免他们.,能用sql就用sql;

8、插入大量数据的时候尽量把索引删掉;

9、尽量避免使用update , delete操作,尤其是update,如果可以把update变成先delete,  后insert;

10、能使用truncate table的时候,就不要使用deleteall row这种类似sql合理的分区,如果删除操作是基于某一个分区的,就不要使用delete row这种方式(不管是deletesql还是delete步骤),直接把分区drop掉,再重新创建;

11、尽量缩小输入的数据集的大小(增量更新也是为了这个目的);

12、尽量使用数据库原生的方式装载文本文件(Oracle的sqlloader, mysql的bulk loader步骤)。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/860671
推荐阅读
  

闽ICP备14008679号