我正在尝试创建一个可以通过HTTP下载多个文件的作业。这些文件的列表位于MySQL表中。我通过以下步骤创建了一个主作业: start、set variables、FILELIST (我创建的转换)、DOWNLOAD (我创建的作业)和success。
转换FILELIST包含以下步骤:表输入并将行复制到结果(此转换与数据库通信,并将URL列表提供给主任务)。任务下载包含以下步骤: start、http、success (此任务应将文件下载到我的计算机)。
所有这些都不起作用,为什么?有没有人知道更好的方法来做同样的事情?
发布于 2013-08-16 16:45:46
我希望你对水壶有基本的了解。因此,从数据库获取内容列表可能不是问题所在。我猜你被困在让Kettle下载并保存所有这些文件--有效地运行一个循环。
下载文件的步骤是"HTTP“,它只在Jobs中可用。因此,诀窍是为每个文件执行一个Job (包含下载的HTTP步骤)-或者使用Kettle行话“为每一行执行”。URL作为从字段中设置的参数向下传递到download-Job中。
如果这对你没有帮助,那么看看下面的链接,在那里我更详细地介绍了如何完成这个壮举(这是一种壮举-尽管它不应该是一个壮举):
http://www.joyofdata.de/blog/batch-downloading-files-with-pentaho-kettle/
https://stackoverflow.com/questions/18144625
复制相似问题