用kettle做etl也有段时间了,遇到很多问题,总结了一下。

【关于版本的问题】

kettle常用的版本有4.1和4.4,对于4.1版本:

1.该版本的兼容性有点差,在某些机器上运行会启动失败,或者是启动完后增加资源库时报错直接退出。

2.对于etl的sql,比如oracle,不支持/*------*/的注释方式,会将其识别为错误的sql,仅支持--的注释方式。而4.4不存在这个问题。

3.运行不稳定,执行复杂etl过程时容易出现异常退出。

【关于etl过程的问题】

无论4.1或者4.4,有时会出现一些莫名其妙的报错信息,如在oracle下面会报出:

 ORA-: user requested cancel of current operation

这貌似是oracle爆出来的,好像和sql本身并没有关系,将sql直接到数据库中跑,也没有问题,百思不得其解,调整oracle参数、替换jdbc驱动等都未解决。后来在kettle的官方论坛上找到了一段提示

http://forums.pentaho.com/showthread.php?76733-Strange-SQL-error-kills-DB-input-step
Kettle will stop any SQL processing whenever there is an error, in any step of the transformation.
Maybe it helps to increase the logging level and look for other steps that might be throwing an error. If preview works fine it is likely that the error is caused by a step further down in the transformation. Maybe the cause is a specific row, like maybe a row with null values where they are not expected.

,大意是这类错误一般都是由etlsql造成的,如果将执行的日志级别调高一些会看出来具体的原因。所以,将日志级别调整的非常详细会看出具体是什么错误,最后发现还是etl的问题,比如输入表A的数据往B表中输出,结果在B表中没有找到对应的列而报错,如果日志信息不详细,则有时会提示如ORA-01013的错误。

【关于优化】

kettle使用java实现,所以,有时etl过程比较长,所以有时需要调整jvm内存大小,在Spoon.bat中增加Xmx和Xms以及PermSize的大小。

【原创】使用Kettle的一些心得和经验的更多相关文章

  1. 一位 iOS 大牛的 BAT面试心得与经验总结,送给正在迷茫 的你!

    前言: 目前形势,参加到 iOS 队伍的人是越来越多,可以说是已经达到了供过于求的地步了. 今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,之前实习的时候就想着写一篇面经,后来忙就给忘了, ...

  2. Recording︱有价值的各类AI、机器学习比赛心得、经验抄录

    今年kaggle华人优胜团队很多,所以经验.心得不少,都是干货慢慢收集. 一.[干货]Kaggle 数据挖掘比赛经验分享 github:https://github.com/ChenglongChen ...

  3. (原创) 巩固理解I2C协议(MCU,经验)

        题外话:这几天天气突然转冷了.今天已是11月23日了,查查黄历,昨天(11月22日)刚好是小雪,一夜温度骤降,果然老祖先的经验有灵验!冬天来了,还是多加加衣服,注意保暖! 1.Abstract ...

  4. 足球运动训练心得及经验分析-c语言学习调查

    在准备预备作业02之前,我参考娄老师的提示,阅读了<[做中学(Learning By Doing)]之乒乓球刻意训练一年总结>一文. 在文章描述的字里行间,给予我的印象是系统.负责,娄老师 ...

  5. 【原创】Libjpeg 库使用心得(一) JPEG图像DCT系数的获取和访问

    [原创]继续我的项目研究,现在采用Libjpeg库函数来进行处理,看了库函数之后发现C语言被这些人用的太牛了,五体投地啊...废话不多说,下面就进入正题. Libjpeg库在网上下载还是挺方便的,这里 ...

  6. 初学深度学习(TensorFlow框架的心得and经验总结)自用环境的总结

    初学者的时间大部分浪费在了环境上了: 建议直接上Linux系统,我推荐国产的深度系统,deepin这几年一直在不断的发展,现在15.4已经很不错了 1,图形化界面很漂亮,内置正版crossover,并 ...

  7. 关于connect by 误区讲解,纯属个人心得和经验,有图有文字

    本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处. http://www.cnblogs.com/king-xg/p/6927541.html 如果觉得对您有帮 ...

  8. Mysql数据库主从心得整理

    管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希望对 ...

  9. "Gun N' Rose" Team学习心得

    如果我比别人看得更远,只因为我站在巨人的肩膀上.                                                        ——牛顿 高级软件工程课程终于开课了!第 ...

随机推荐

  1. 整理windows相关软件的环境变量

    java: JAVA_HOME    [安装java的home目录] PATH              [在最后添加] ;%JAVA_HOME%\bin; CLASSPATH    [文本框的起始位 ...

  2. Spark基本运行流程

    不多说,直接上干货! Spark基本运行流程 Application program的组成 Job : 包含多个Task 组成的并行计算,跟Spark action对应. Stage : Job 的调 ...

  3. SQL Server 2014 中,新建登录用户,分配权限,并指定该用户的数据

    一.运行环境 系统:Windows 10数据库:SQL Server 2014数据库名: APP     新建的用户名: app 二.操作步骤 1.打开 MS SQL Server Managemen ...

  4. 深入浅出JDK动态代理(一)

    1.何为代理 代理,即代替主角完成一些额外的事情.例如,明星都有经纪人,明星参演电影之前,经纪人作为明星的代理人和出资方洽谈片酬.排期等,而真正参与拍戏的还是明星本人,明星拍完戏后,由经纪人代理明星去 ...

  5. CentOS 7最小安装配置网络

    安装环境: VMware Workstation14 centos 7.5.1804 最小化安装 安装过程: 在系统安装成功后进行网络配置,我这里采用的是动态ip配置.首先得知道网络配置存放的目录: ...

  6. 题解 CF1051F 【The Shortest Statement】

    这道题思路比较有意思,第一次做完全没想到点子上... 看到题目第一反应是一道最短路裸题,但是数据范围1e5说明完全不可能. 这个时候可以观察到题目给出了一个很有意思的条件,就是说边最多比点多20. 这 ...

  7. js判断 nan null undefined的方法

    收集资料如下判断: 1.判断undefined: 复制代码代码如下: <span style="font-size: small;">var tmp = undefin ...

  8. [terry笔记]Python字符串

    如下学习python的字符串用法. print(dir(str)) ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', ...

  9. Springboot 应用启动分析

    https://blog.csdn.net/hengyunabc/article/details/50120001#comments 一,spring boot quick start 在spring ...

  10. shell如何更改当前工作路径

    转载: http://imysqldba.blog.51cto.com/1222376/616805 shell 脚本执行有三种方法 bash 脚本名 sh 脚本名 chmod +x 脚本名 使用下面 ...