Kettle连接hadoop
修改Kettle插件配置目录下的plugin.properties文件(个人电脑中完整路径为E:\Pentaho\data-integration\plugins\pentaho-big-data-plugin\plugin.properties)如图1
图1
把该文件中的原active.hadoop.configuration=hadoop-20(大概位于文件第五行)修改为active.hadoop.configuration=hdp21, 如图2。
图2
其中hdp21这个字符串是对应E:\Pentaho\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations文件夹中的hdp21文件夹名称。该文件夹包含了所用到的插件jar包,必须对应才可以,若是其他版本的hadoop,可以尝试修改成其他插件的文件夹名称,对应关系如图3。
图3
设置好后保存重新启动Kettle即可连接到hadoop,否则提示无法连接到hadoop。
Kettle上传中文文件到hadoop系统出现乱码
我现在遇到的情况是这样子的:上传的文件中包含有中文汉字,通过Kettle的转换后输出到安装有hadoop的CentOS6.5系统中,其中CentOS6.5的语言环境是英文的(en_US.UTF-8)。虽然可以正常上传,但是用命令hdfs dfs –catxxxx 查看上传的文件时发现中文部分出现乱码。
解决办法,修改系统的语言环境,vim /etc/sysconfig/i18n,把文件中的LANG= en_US.UTF-8修改为LANG=zh_CN.UTF-8,然后重新启动CentOS系统。
虽然这样子解决了上传中文文件乱码的问题,但是又会引发新的问题。该问题具体描述如下:(CentOS语言环境为中文zh_CN.UTF-8)比如上传的文件叫aaa.txt,该文件中包含有中文,上传到hadoop的hdfs中后,无法查看该文件!但是该文件确实是真实存在的,只是跟不存在一样,用hdfs dfs –get aaa.txt ~/命令复制到当时用户目录下,打开的文件居然为空的!目前该问题暂时无法从根源上进行解决,折中的方法是,上传的文件都把.txt这些类似的后缀名去掉,这样复制出来的打开才正常,下载的时候再把对应的文件名后缀加上。