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数值设的比较大:

  • 相关阅读:
    使用IDEA启动Tomcat时出现端口被占用的问题解决办法
    在Navicat中设置id主键为UUID自增
    关于IDEA构建的maven项目:WEB-INF下的jsp移动到webapp下出现404无法访问的问题
    Spring框架学习日志(2/4)
    Spring框架学习日志(1/4)
    jenkins+python+pytest+selenium 自动化执行脚本并发送报告
    Selenium 添加Cookie实现绕过登录流程
    CSS
    集合
    Javaweb初学
  • 原文地址:https://www.cnblogs.com/gurenyumao/p/13860144.html
Copyright © 2011-2022 走看看