2

我正在尝试创建一个可以通过 HTTP 下载多个文件的作业。这些文件的列表位于 MySQL 表中。我按照以下步骤创建了一个主要作业:开始、设置变量、FILELIST(我创建的转换)、DOWNLOAD(我创建的作业)和成功。

转换 FILELIST 包含以下步骤:输入表并将行复制到结果(此转换与数据库通信并将 URL 列表提供给主任务)。任务 DOWNLOAD 包含以下步骤:开始、http、成功(此任务应将文件下载到我的计算机)。

这一切都行不通,为什么?有人知道做同样事情的更好方法吗?

4

1 回答 1

5

我希望你对 Kettle 有基本的了解。因此,从数据库中获取某些东西的列表可能不是问题。我猜你一直坚持让 Kettle 下载并保存所有这些文件 - 有效地运行一个循环。

下载文件的步骤是“HTTP”,它只在 Jobs 中可用。所以诀窍是为每个文件执行一个作业(包含下载的 HTTP 步骤) - 或使用 Kettle-lingo “为每一行执行”。URL 作为从字段设置的参数传递到下载作业。

如果这对您没有帮助,请查看以下链接,我将在其中更详细地介绍如何完成该壮举(这是一种壮举 - 但它不应该是一个壮举):

http://www.joyofdata.de/blog/batch-downloading-files-with-pentaho-kettle/

于 2013-08-16T08:45:46.270 回答