在前面的文章中,我们描述了使用Kettle工具可以在实现关系型数据库之间的数据ETL,如Oracle->Trafodion,MySQL->Trafodion等,本文通过范例介绍如何使用Kettle将本地的文件上传至HDFS目录。
关于如何在Kettle中配置连接HDFS(以连接CDH为例),详情可参考Kettle官网之https://help.pentaho.com/Documentation/7.1/0H0/Set_Up_Pentaho_to_Connect_to_a_Cloudera_Cluster
本文在此通过一系列简单的步骤描述通过Kettle配置远程HDFS连接并实现简易版本的文件上传功能,若读者有需要,可根据实际需要在此基础上进行扩展。
1 Kettle新建作业(文件->新建->作业)并保存命名为copy_hdfs
2 从作业中新建Hadoop clusters(Hadoop clusters->New Cluster),并填写相应的内容,如下图
3 测试HDFS连接
注:以上截图测试Hadoop连接有部分失败,但由于本示例只涉及简单的文件上传功能,因此只要保证对应的配置(HDFS配置、Zookeeper配置)正确即可。
4 在作业中添加对应组件(Big Data->Hadoop Copy Files)
5 双击Hadoop Copy Files组件并配置源文件/目录及目标文件/目录
6 运行作业并检查文件是否上传成功