kettle输出数据到hadoop 的hdfs 系统,错误总结

         最近自己在练习使用kettle时,想把MySQL中的数据同步到Hadoop中,就测试了一下,到最后发现怎么也连接不上hadoop集群,好不容易连接上了,结果文件又无法写入到指定的目录中,一直提示权限不够,很郁闷啊。最后终于解决了,分享一下心得。

       1. kettle 安装在此不讲述,本文是以kettle 和Hadoop环境都已经部署好了,可以正常使用的环境。

        创建转换,表输入,配置好MySQL的连接信息。ip, port, 用户名密码等。

     kettle输出数据到hadoop 的hdfs 系统,错误总结_第1张图片

测试一下能否正常连接。 写好取数据的SQL语句,可以预览一下。然后使用字段选择组件选择过来。

2.  连接字段选择组件

kettle输出数据到hadoop 的hdfs 系统,错误总结_第2张图片

    3. 输出到Hadoop文件系统中。 此处是难点,第一次配置可能会遇到很多坑。而且不同版本的kettle也会有很多的区别。

kettle输出数据到hadoop 的hdfs 系统,错误总结_第3张图片

注意: 标红色的是重点

kettle输出数据到hadoop 的hdfs 系统,错误总结_第4张图片

先点击浏览选项会出现集群的连接配置信息,选择hdfs, 连接url 写ip 地址最好,不要加上hdfs://, 我自己在测试的时候就是复制了core-site.xml 中的url导致一直无法连接。只写ip, 端口号,用户名和密码即可。然后点击右侧的测试按钮。

4. 下一步就是把数据同步到hdfs中了,需要在hdfs指定的目录下创建文件。

     kettle输出数据到hadoop 的hdfs 系统,错误总结_第5张图片

5. 文章中的logs是目录,就是要把抽取的内容存放到此目录中,但是我们还需要给输出的文件起个名字,就叫datas吧。然后保存确定。执行转换。

kettle输出数据到hadoop 的hdfs 系统,错误总结_第6张图片

转换执行完成,我们可以到hdfs 的这个目录下去查看是否有我们希望的文件生成呢,答案肯定是有的,

6. 查看文件内容,与MySQL中的数据一致,这样数据就同步到文件系统中了,可以进一步处理货使用了。

本文分享到此结束,欢迎有疑问的童鞋回复哦。

你可能感兴趣的:(ETL技术)