【问题标题】:Talend - Custom join componentTalend - 自定义连接组件
【发布时间】:2016-10-27 18:49:14
【问题描述】:

我目前的用例如下:

TABEL1 
A   | B     | time  
12  | 13    |20161012132401

TABEL2  
A   | B     | time 
12  | 13    |20161012132403 
12  | 13    |20161012132402

我想根据 A 和 B 进行连接。但是从这些匹配中,我只想加入时间从 tabel2 最接近 tabel1 的那个。

因此,我想在 Talend 中开发一个自定义组件(文档几乎不存在)。 我目前的主要问题是逻辑是双循环。我需要检查从 tabel1 到 tabel2 的每一行。 (并且javajet运行每一行的代码,然后转到下一行,在globalmap旁边似乎没有持久化)

在运行来自 tabel1 的行之前,如何从 tabel2 中获取完整的行列表?

【问题讨论】:

  • “关闭”是什么意思?您不能以分钟为单位加入吗?
  • 如中,tabel2 的第二行更靠近 tabel1 的行(时间列)。所以我只想加入这两行。
  • 您是否需要创建新组件?还是可以接受带有基本组件的解决方案?
  • 创建新组件是一项要求。这是我关于如何在 Talend 中正确实现组件的用例 :)

标签: java talend


【解决方案1】:

您无需为此案例创建新组件。从 Table2 中获取数据时,使用下面的 sql 查询

select A, B, MIN(time) AS time GROUP BY A, B.

现在您将获得 Table2 的如下记录,

一个 |乙|时间
12 | 13 |20161012132402

希望这能解决您的问题。

【讨论】:

  • 正如 cmets 中所说,制作新组件是必需的 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
相关资源
最近更新 更多