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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kettle是一款强大的ETL工具,可以用于数据的抽取、转换和加载。如果要使用kettle抽取数据库内所有数据,可以按照以下步骤进行操作: 1. 首先,通过kettle数据库连接功能连接到目标数据库。你需要提供数据库的连接信息,包括数据库类型、主机名、端口号、数据库名称、用户名和密码等。 2. 在kettle的工作区中创建一个新的Transformation(转换)任务。在Transformation中,你可以添加多个步骤来完成数据抽取的过程。 3. 在Transformation中添加一个"Table Input"(输入)步骤。在该步骤的设置中,选择目标数据库,并选择要抽取数据。 4. 添加一个输出步骤,例如"Text File Output"(文本文件输出)。在该步骤的设置中,选择输出的文件路径和格式,以及要包含的字段。 5. 可以根据需要添加其他步骤,例如数据转换、数据过滤等,以满足数据处理的要求。 6. 运行Transformation,kettle将按照设定的步骤顺序依次执行,并将数据库内所有数据抽取到指定的输出文件中。 7. 完成数据抽取后,你可以根据需要对输出的文件进行进一步处理,例如导入到其他系统或数据库中。 总结起来,使用kettle抽取数据库内所有数据的过程包括连接数据库、创建Transformation任务、设置数据抽取步骤、运行任务并输出结果。这样就可以方便地将数据库内的数据提取到指定的输出文件中,为后续的数据处理和分析提供方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值