如何解决使用其他文件运行作业,而无需重新加载文件
我创建了一个可以用于新文件的作业。作业中的所有活动,地图和其他所有内容都将保持不变,但文件名除外。我已经尝试过一次,但是似乎我需要重新“加载”文件并再次重新映射所有内容。效率低下。我有什么办法可以在作业中传递其他文件而无需重新映射,重新配置和重新加载任何内容?
解决方法
您有多个选项可允许DataStage并行作业在每个作业运行时使用不同的文件名作为输入:
-
在使用顺序文件阶段或文件连接器阶段时,您可以输入在作业属性对话框的“参数”选项卡上定义的作业参数的名称,而不必输入实际的文件名。例如,如果定义字符串参数myFile,则在输入阶段的文件名字段中,您将输入#myFile#,并在作业运行时将其替换为myFile参数的当前值。如果从Director / Designer客户端手动运行作业,则将出现“作业运行”对话框,您可以在其中指定作业参数的值。如果通过dsjob命令启动作业,则有一些选项可以在命令行中传递作业参数。您还可以选择使用可以在作业运行之前进行修改的参数集文件。
-
另一种选择是使用文件位置和模式而不是特定的文件名。顺序文件阶段和文件连接器阶段都允许您指定一个模式,例如:/data/my_input_files/*.txt 然后,每次运行作业时,它将在该位置输入与上述模式匹配的任何文件,以便它可以处理多个文件。但是,为防止从先前的作业运行中重新处理文件,您将要在作业完成后清理该位置上的所有文件。然后,当您有新文件要处理时,只需将它们放在该目录中,然后重新运行作业即可。
如果所有文件都包含类似的数据结构,则您需要实现一个并行作业,并且所有文件名(例如1234ab.xls,1234vd.xls,1234gd.xls, ...您可以在连续作业文件名参数(将其用作并行作业的文件名)中传递文件名称为1234 ??。xls,该参数包含上述要执行的并行作业。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。