使用kettle 过程中,kettle导出为ORC时,报了不少Class Not Found的错。都是由于少包的缘由。把一些问题的解决方法记录下来,可供参考。
kettle版本:kettle-8.2.0.0-342
CDH5.1.4
Q: java.lang.NoClassDefFoundError: org/apache/orc/TypeDescription
加orc-core-1.2.3.jar 至 kettle-8.2.0.0-342\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514\lib 路径下
Q: java.lang.NoClassDefFoundError: org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector
加hive-storage-api-2.1.1.3-pre-orc.jar ,路径同上
Q: java.lang.NoClassDefFoundError: io/airlift/compress/Decompressor
加aircompressor-0.3.jar ,路径同上
上面说的这些包,建议先在整个kettle文件下进行搜索,很有可能在hdp26的lib目录下。
Q: 2019/04/26 11:27:22 - 转换 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Unable to run job test0425. The 转换 has an error. Unexpected error during transformation metadata load
报这个错是因为在指定的路径下找不到 .ktr或者.kjb 作业
Q: ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : java.lang.NoClassDefFoundError: com/amazonaws/SdkClientException
加下列jar包到lib文件夹下。具体是哪一个我也没试。三个都加上我的没再报错,顺利打开了kettle
kettle-s3csvinput-plugin-core-8.2.0.0-342.jar aws-java-sdk-core-1.11.275.jar aws-java-sdk-s3-1.11.275.jar joda-time-2.8.1.jar