Kettle在Linux下的使用小记

2022-07-28 09:21:57 浏览数 (1)

最近有个业务数据变更的需求,要将1个已生成的500w记录写回到另一个表里面。

这里的需求比较简单,可以通过pt-archiver来做,也通过kettle之类工具来做。kettle的话比较重,可支持的数据整型功能也更强大。

我这里是用kettle来搞的(复习下kettle,弄个demo,指不定后面有更复杂的业数据需求要找DBA介入)

配置JDBC连接的时候,建议加上字符集设定等几个参数:

代码语言:javascript复制
defaultFetchSize      1000
useCursorFetch        true
characterEncoding      utf8
characterSetResults     utf8
characterSetResults    false

配置job的kjb文件的时候,建议使用相对路径:

代码语言:javascript复制
写法  ${Internal.Job.Filename.Directory}/xxxx.ktr

kettle自定义JVM内存大小:

vim spoon.sh  找到下面,修改下

代码语言:javascript复制
if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then
  PENTAHO_DI_JAVA_OPTIONS="-Xms2048m -Xmx2048m"
fi

job命令行下的启动:

cat start.sh 如下:  

代码语言:javascript复制
export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

cd /opt/kettle/demo
/opt/kettle/data-integration/kitchen.sh -file /opt/kettle/demo/test.kjb >> ./run.log 2>&1

0 人点赞