spoon批量导入到mysql_使用kettle批量下载文件

本文介绍如何使用Kettle通过主作业调用子作业的方式,批量下载HTTP文件并将结果导入到MySQL数据库中。详细阐述了文件列表转换、下载作业的设置以及变量与字段的映射关系配置过程。
摘要由CSDN通过智能技术生成

使用kettle批量下载文件 最新有项目中需要批量下载文件并把结果导入到数据中,通过一些实验测试,kettle确实可以胜任。问题是关键是如果通过http批量下载文件,本文将详细说明,假设你已经了解了kettle的基本知识,如果需要可以查看我的系列入门教程。 本文

使用kettle批量下载文件

最新有项目中需要批量下载文件并把结果导入到数据中,通过一些实验测试,kettle确实可以胜任。问题是关键是如果通过http批量下载文件,本文将详细说明,假设你已经了解了kettle的基本知识,如果需要可以查看我的系列入门教程。

本文的示例代码可以在这里下载.

主作业

kettle的转换中没有通过http下载文件的步骤,但是job的有对应的步骤,所以在主job调用子job(Download.kjb),需要下载的文件列表通过一个转换提供。

f6f8862230d0413a7d01bf1406b0af21.png

文件列表转换

这里我仅仅使用数据表步骤提供五条记录文件,有两个字段分别为“filename”和“url”(url的内容根据你的业务需要,这里使用一个示例供测试),为了让这些数据在download.kjb中可以访问,后面使用了job类别中“copy rows to result”步骤。

下载的作业

download作业只下载一个单独的文件,但是我们需要针对文件列表中每条记录都要运行。这里需要在作业的高级设置,选中“Execute for every input row”,实现循环调用。

在http步骤中,我们需要设置filename和url,这两个字段内容来自输入后,我们使用变量${URL}和${FILENAME},为了使这些数据和变量关系对应,我们需要做两件事情。

1) 需要声明“URL”和“FILENAME”命名参数

在作业的属性设置,命名参数选项卡中设置。

52a560e3c2e39ebcb203e5b4adea3404.png

2) 选要指定字段和变量(命名参数)的映射关系

在主作业中双击download作业步骤,然后再命名参数选项中配置映射关系。同时在主作业中定义了PATH变量,确定文件保存的位置,http步骤中使用该变量确定文件位置及名称。

15af8aa1d178b774370ede709c8e5890.png

结论

运行完成后,可以在c:\temp目录中可以成功下载的文件,如果把文件的结果读入到数据库,就不是难事了。有需要通过其他的文章讲解。

b22a72dbcb11643585037206f6fa3955.png

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值