【发布时间】:2014-07-17 18:33:46
【问题描述】:
我目前的工作是这样的:
tPrejob-->tOracleConnection1--->tOracleConnection2--->tSetGlobalVar1(timestamp)--->tRunjob(运行prejob从FTP收集文件)
然后有一个 tPostjob 应该在 FTP 服务器上重命名处理过的文件。
tPostjob--->tFTPRename
应该用"File Processed On " + ((String)globalMap.get("timestamp")) + "This is where I would put the orginal file name"重命名文件
如果我将标准文件名放入 Filemask,那么它将正确运行,但是如果我尝试通过 globalMap.get 将文件名传递给它来使文件掩码动态化,那么我会收到错误:
“组件 tFTPRename_1 java.lang.NullPointerException 中的异常”
我尝试了几种将文件名传递给 tFTPRename 组件的方法,但都没有奏效。
我目前正在捕获子作业中的文件名并将其输出到 txt 文件,然后在主作业上使用 tFileInputFullRow 来创建该变量。我尝试将其传递给 tSetGlobalVar,然后将其作为 ((String)globalMap.get("FileName")) 添加到文件掩码中,但没有运气。
我也在网上尝试了几种方法,但都没有奏效,所以我不确定是我的问题还是与 tFTPRename 功能有关。
主要工作: 工作前: tFTPRename 组件: tFileInputFullRow:
【问题讨论】:
-
你能附上一些你工作的截图吗?我认为您可能在这里过于复杂了您的过程。作业布局的屏幕截图,然后是一些关键组件的配置屏幕截图,或在您的问题中以文本形式扩展它们的配置方式。
-
尽可能多地添加
标签: java global-variables etl talend