zoukankan      html  css  js  c++  java
  • Kettle学习笔记(四)— 总结

    目录

    Kettle学习笔记(一)— 环境部署及运行
    Kettle学习笔记(二)— 基本操作
    kettle学习笔记(三)— 定时任务的脚本执行
    Kettle学习笔记(四)— 总结

    Kettle中设置编码格式

    如果处理的数据中有中文,需要对中文设置编码格式,一般是utf8格式,彻底的修改格式的方法就是,修改spoon.bat文件中增加如下信息:"-Dfile.encoding=UTF-8";

    Kettle中调整运行性能

    修改参数

    Kettle默认的性能适用于普通的一般硬件,如果自己的电脑硬件比较好(内存比较大),可以对kettle的spoon.bat中的参数进行修改,这样可以适当的提高kettle的运行性能,主要是修改-Xms、-Xmx、-XX:MaxPermSize三个参数的值:

    -Xms:设置JVM初始内存 ;
    -Xmx:设置JVM最大可用内存 ;
    -XX:MaxPermSize:设置JVM最大允许分配内存,按需分配;

    非常注意:

    -Xmx必须小于等于系统内存的1/4,要不然会报错,其他两个选项不大于-Xmx ;
    当系统内存为4G时-Xmx不能大于1G,当系统内存为8G或更大时,java版本必须是64位的才能识别出来,此时-Xmx可以为2G或更高

    2.创建数据库连接的参数中必须加上以下三个参数:(用于增加数据写入速度

    useServerPrepStmts=false

    rewriteBatchedStatements=true

    useCompression=true

    提高每次表输出的提交量。

    异常汇总

    1.连接不上数据库,报java.lang.NullPointerException异常:

    原因:kettle中放置的连接数据库的驱动jar包版本低于要连接的数据库版本;

    解决方法:首先查看自己要连接的数据库版本,然后选择驱动jar包版本要对应或者高于但要最接近于数据库版本的jar包即可解决;

    2.正常运行一会突然报错:Communications link failure

    错误一:

    java.net.SocketException: Connection reset by peer: socket write error

    错误二:

    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown.

    产生上述两个错误的原因:可能是kettle默认使用的是服务端提供的statement,因为一些原因服务端可能会关闭statement,因此要对连接的数据库设置一些参数,使用kettle自身提供的statement就可以

    (1)解决问题:设置参数如下:

    useServerPrepStmts=false

    rewriteBatchedStatements=true

    useCompression=true

    (2)如果使用连接池,并将连接池总的maxIDle数值设的比较大:

  • 相关阅读:
    vim字体设置
    windows下eclipse打不开
    ubuntu的无线网无法连上
    将ubuntu系统录到u盘上
    使用UltraISO刻录系统到U盘可能会出现打不开的情况
    windows安装程序制作
    安装ubuntu双系统
    数据库插入数据时间比较
    LeetCode 189. Rotate Array
    LeetCode 228. Summary Ranges
  • 原文地址:https://www.cnblogs.com/gurenyumao/p/13860144.html
Copyright © 2011-2022 走看看