我正在尝试创建一个可以通过HTTP下载多个文件的作业。这些文件的列表位于MySQL表中。我按照以下步骤创建了一个主要工作:启动,设置变量,FILELIST(我创建的转换),DOWNLOAD(我创建的工作)和成功。
转换FILELIST包含以下步骤:表输入和复制行到结果(此转换与数据库通信并提供主要任务的URL列表)。任务DOWNLOAD包含以下步骤:start,http,success(此任务应将文件下载到我的计算机上)。
这一切都行不通,为什么?有没有人知道做同样事情的更好方法?
答案 0 :(得分:4)
我希望你对水壶有基本的了解。因此,从数据库中获取某些内容列表可能不是问题。我猜你会坚持使用Kettle下载并保存所有这些文件 - 有效地运行循环。
下载文件的步骤是“HTTP”,它仅在作业中可用。因此,诀窍是为每个文件执行一个Job(包含下载的HTTP步骤) - 或者为每一行使用Kettle-lingo“。 URL作为参数传递给download-Job,该参数是从字段设置的。
如果这对您没有帮助,请查看以下链接,我将详细介绍如何完成该专长(这是一项壮举 - 但不应该是一个):
http://www.joyofdata.de/blog/batch-downloading-files-with-pentaho-kettle/