任务是从文件夹中获取文件名,然后逐个循环所有文件上的相同任务(作业)。
我创建了一个简单的转换工作(获取文件名),然后使用标志"每行执行#34; (现在只记录文件的名称)。
与此处描述的方式相同:http://ramathoughts.blogspot.ch/2010/08/processing-group-of-files-with-kettle.html
但是,接收文件的路径不会传递给子作业(日志记录不显示变量值)。但是子作业的执行次数与输入文件夹中的文件数一样多。因此看起来它在某种程度上被传递,但由于某种原因不能作为变量使用。
带有日志详细信息的图像,如下所示变量显示为${path}
而不是路径值:
http://i.imgur.com/pK1iHtl.png?1
示例代码如下所示,包含作业和转换以及示例输入文件。任何帮助都表示赞赏,因为我可能在这里遗漏了一些简单的https://www.hightail.com/download/bXBhL0dNcklCMTVsQXNUQw
答案 0 :(得分:3)
问题是第二个作业(即j_log_file_names.kjb)无法检测到参数path
。只需尝试为此Job定义参数;如下图所示:
这将确保来自prev的参数。步骤被正确地提取到作业中。你的其余工作看起来绝对正常。
希望这会有所帮助:)