【发布时间】:2019-07-26 18:25:15
【问题描述】:
我的架构中有 2 个实体。我已经映射了一个,现在对于第二个,在使用 talend 映射时,我还需要将第一个实体的 PK 作为第二个实体中的 FK。他们都在同一个工作中,但是如何在第二个实体的映射中使用第一个实体的 Pk 呢?
这就是我目前所拥有的(row1 是 entity1,它在 tmap 中有一个自动生成的键)
row2 正在从 xml 文件创建 csv row3 映射从 row2 生成的 csv 文件,但是它应该具有来自 row1 的实体 1 的 fk
【问题讨论】:
-
有人请回答!谢谢
-
我不知道这是否是您要查找的内容,但您可以使用 tSetGlobalVar 或 tJavaRow 设置要在任何地方使用的全局变量。但我担心的是你只能在那里保存一个值,并且事情会相互覆盖。你是什么意思第 1 行的密钥将用于第 2 行?如果您在 row1 中解析了多个文件,则应该连接 row1 和 row2 以迭代每个条目。
-
行是指上图中每一行的逻辑。就像第一行中的东西是 row1 等。我尝试使用全局变量并在它之前设置一个数据库输入。我想获取数据库中的行数,然后将 +1 增加到全局变量,这可能是 entity2 中的 Fk,因为 entity1 Pk 是自动递增的,但所有行的数字都保持 1(不递增)
-
上面作业中的所有行(在图片中)都是一起执行的,但该过程是自动完成的*通过文件观察器)。我可以使用全局变量、会话或任何东西吗?如果可以,请告诉我,因为我一直在尝试,但没有任何效果,这是我的希望 :)
-
我也尝试将两个 inputdelimited 连接到同一个 tmap 和 2 个 dboutput,但问题是当我们将两个文件连接到同一个 tmap 时,它们变成了同一个子作业,当我运行它,只有一个文件观察器路径有效,另一个无效
标签: database automation foreign-keys etl talend