【问题标题】:How to pass values from parent job to child job in talend如何在 talend 中将值从父作业传递到子作业
【发布时间】:2018-01-11 08:41:02
【问题描述】:

我正在使用 talend 大数据并创建了两个作业(父级和子级)。这两个作业都使用具有不同 URL 的 tRESTClient。在父作业中,获取一些值并尝试将值传递给子作业。然后我想将这些值(父值和子值)存储到 mongoDB 中。
父 URL 和工作:
https://api.github.com/users/sample/repos & tRESTClient --> tXMLMap --> tBufferOutput --> tRunJob

父值:stargazers_count & watchers_count

子 URL 和工作: https://api.github.com/repos/sample/awesome-ciandcd/commits & tRESTClient --> tXMLMap --> tMongoDBOutput

子作业 tXMLMap:

子值:date & message

子值直接从 URL 获取,父值通过上下文变量获取。但我的工作将父值存储为 NULL。

父 tRunJob 配置:

如何将父值存储到 mongoDB 中?

【问题讨论】:

  • 你能告诉我父作业的tRunJob配置吗?
  • tRunJob 配置截图添加在上面的帖子中。

标签: talend rest-client


【解决方案1】:

通过在 tRunJob 组件中显式定义将上下文从父级传递给子级。

我想您正在使用 tBuffereOutput 来存储您想要传递给子作业的那些值,但您不需要它。 使用主流将您的 tXMLMap 直接连接到 tRunJob,并在 tRunJob 中同步您的架构。

在子作业中创建要从父作业传递的所有上下文变量。

然后在 tRunJob 中,在 Context Param 中,您的所有架构字段都将反映在参数字段下。 将您的上下文变量名称放在它们旁边。这将解决您的疑问。

希望得到帮助:)

【讨论】:

  • 我已修改作业并在 tRunJob 中添加了参数。但我仍然将 NULL 值传递给父列。
  • 你能告诉我你在工作中所做的改变吗(父母和孩子)
  • 这真的有效吗?将行从父级传递给子级作业?我试过了,但是没有用。
猜你喜欢
  • 1970-01-01
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多