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

Kettle学习笔记(四)— 总结的更多相关文章
- Kettle学习笔记(二)— 基本操作
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 打开Kettle 打开 ...
- Kettle学习笔记(一)— 环境部署及运行
目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- ES6学习笔记<四> default、rest、Multi-line Strings
default 参数默认值 在实际开发 有时需要给一些参数默认值. 在ES6之前一般都这么处理参数默认值 function add(val_1,val_2){ val_1 = val_1 || 10; ...
- muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...
随机推荐
- vue:Missing space before value for key 'components'
原因是Vue对语法比较严格,而eslint是一个语法检查工具,对语法要求极其苛刻严格,于是就error了 解决办法是关闭eslint的语法规则,找到build/webpack.base.conf.js ...
- Mybatis映射器(二)
上一篇文章返回是resultType,但其无法定义多的属性,比如typeHandler,级联等.为了支持复杂映射,可以用resultMap属性,先定义resultmap属性: <mapper n ...
- JAVA中的策略模式strategy
原文出自:http://ttitfly.iteye.com/blog/136467 1. 以一个算术运算为例,传统做法为: java 代码 package org.common; public cla ...
- MySQL 慢 SQL & 优化方案
1. 慢 SQL 的危害 2. 数据库架构 & SQL 执行过程 3. 存储引擎和索引的那些事儿 3.1 存储引擎 3.2 索引 4. 慢 SQL 解决之道 4.1 优化分析流程 4.2 执行 ...
- yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:
使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: 问题出现原因:yum包管理是使用python2 ...
- MySQL的主从复制步骤详解及常见错误解决方法
mysql主从复制(replication同步)现在企业用的比较多,也很成熟.它有以下优点: 1.降低主服务器压力,可在从库上执行查询工作. 2.在从库上进行备份,避免影响主服务器服务. 3.当主库出 ...
- Docker下制作一个容器镜像
操作过程描述: (1)先基于centos的镜像启动一个centos容器 (2)在这个容器中安装nginx (3)然后把这个已经安装了nginx的容器制作成一个docker的镜像 操作:docker c ...
- kali linux 的基本命令
Kali Linux 命令集 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统 ...
- github上使用C语言实现的线程池
网上介绍线程池的知识很多,但是在代码实现上介绍的又不是那么多.而且给人的一种感觉就是:你的这种实现是正规的方式还是你自己的实现? 如果有这么个疑问,且想找一个靠谱的代码拿来使用,那么这个项目是个不错的 ...
- Storm近年的发展
storm作为第一款大数据领域的流式计算引擎,在2013年推出之后风头一时无二.后续虽然有spark streaming也作为流式计算的引擎,但storm依然在流式计算的江湖占有稳定的地位.直到201 ...