kettle 从数据库表将数据写入 hadoop hdfs

kettle 作为一个 java 的开源 ETL 工具,支持的接入源与输出源很丰富,

下面测试简单的 数据库 table -> table -> hdfs 文件的写入。

简介:kettle 主目录分为作业和转换

    转换: 用来配置ETL 链路信息,及工作方式。

    作业: 用来启动和控制转换工作。

1. 安装环境

    kettle 依赖于 java 环境,请安装好 Java ,并设置好 jdk 环境变量


2. 安装 kettle 

    下载地址:http://community.pentaho.com/projects/data-integration/

    下载速度有点慢,有条件者可以使用 vpn

    下载完成,解压,双击 Spoon.bat 打开kettle


3. 双击转换新建一个转换任务。 

    

4. 源端选择 打开输入-> 表输入,将表输入拖到右边工作台上



5. 双击表输入,输入源端数据库基本信息

    

此时可以看出提示驱动找不到,下载 mysql 驱动包,放入 lib 目录下,重启 kettle


6. 测试数据库连接成功

    


7. 输入源端数据查询语句,配置完成



8. 点击 输出 -> 插入/更新 ,拖放到右端工作台上,并与目标端连接

    用鼠标中建连接源端与目标端,或者选中源端,按 shift 将源端指向目标端



9. 双击输入目标端数据库信息



9. 配置装载规则,点击确认,数据库装载配置完成



10. 点击 big data -> Hadoop File output,将此拖放到右边工作台,并连接



11. 双击 hadoop file output,添加 hadoop 集群配置

  输入集群信息,点击测试



12. 此时会弹出 hadoop 版本的基本信息,记下此信息,之后会用到



13. 此时可能你会遇到错误

    The Active Shim has not been set.



14. 打开plugins\pentaho-big-data-plugin\plugin.properties 文件

    修改 active.hadoop.configuration 为 active.hadoop.configuration=cdh58

    红字部分,就是我们上面记录的版本信息,保存现有配置,重启kettle


15. 此时再次测试 hadoop 配置,发现大多数都已通过,但是有一个警告

    The Hadoop File System URL does not match the URL in the shims core-site.xml.


16. 复制集群中的 core-site.xml,

    将该 xml 文件复制到 plugins\pentaho-big-data-plugin\hadoop-configurations\cdh58,

    替换原有 core-site.xml

    重启 kettle ,此时发现警告依旧。



17. 不用担心,现在警告的原因是因为 配置的 url 与 xml 配置文件里面的 url 不一样,

    xml 里面用的 hostname 连接的,而我们配置的时候用的 ip,

    将 ip 改为 hostname ,测试通过

    注意,用 hostname 时,本地需要 添加 hosts 配置。



18. 配置 hdfs 路径信息

   


19. 输入输出文件名,点击确定,配置完成

    


20. 点击文件->新建->作业,配置 start,和转换

 

    

21. start 基本不需要配置,双击转换

    选择我们之前保存的转换文件,点击确定,配置完成



22. 点击 run ,启动 job




23. 执行成功



2.4 查看写入情况

    


至此,配置成功

kettle 中还有很多其他功能的组件,使用时只需根据需求,配置不同功能组件即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值