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