【发布时间】:2018-03-19 17:13:27
【问题描述】:
我想创建一个Date 类型的全局变量,我想将它传递给子作业。我可以将String 和Integer 类型传递给孩子一号。但是使用Date 类型时运气不好,如下图所示:
以下是我在 tjavarow 中编写的代码。在子作业上下文中,变量传递此全局变量的值。现在,我在子工作toracleInput 中使用这些。我必须使用两个 Date 类型的上下文,其中全局变量 Value 将来自父作业。
这是我的代码:
String fromdate_file_epsilon=input_row.START_DATE1;
globalMap.put("fromdate_file_epsilon", fromdate_file_epsilon);
String todate_file_epsilon = input_row.END_DATE1;
globalMap.put("todate_file_epsilon",todate_file_epsilon);
Date fromdate_epsilon = input_row.START_DATE;
globalMap.put("fromdate_epsilon", fromdate_epsilon);
Date todate_epsilon = input_row.END_DATE;
globalMap.put("todate_epsilon", todate_epsilon);
Integer load_key_epsilon = input_row.LOAD_KEY;
globalMap.put("load_key_epsilon", load_key_epsilon);
System.out.println(fromdate_epsilon);
我将父作业的全局变量值传递给子作业的上下文值,例如 ChildJob 组件上的 Brand=((String)globalMap.get("brand_epsilon")。
【问题讨论】:
-
我在 tjavarow 中使用这个代码
-
为什么不将上下文变量定义为日期类型,然后将所需的值分配给它们(context.myDate = row.myDate)。在 tRunJob 中,选中“传输整个上下文”选项以传递所有上下文变量。在您的子作业中,只需引用已经是日期类型的 context.myDate,无需强制转换。
-
我在问题中加入了你的两个 cmets。
标签: talend