java - 根据组计数分隔行 - TALEND

标签 java talend

我想实现 Informatica 的一个著名场景。我有一个像这样的源文件:-

EMPNO,EMPNAME,DEPTNO
10,A,1
11,B,2
12,C,3
13,D,4
14,E,1
15,F,1
16,G,2
17,H,3
18,I,4
19,J,2
20,K,3
21,L,1
22,M,2

现在我想在出现 DEPTNO Column 时进行隔离。例如:

  • 如果任何 DEPTNO 的出现次数>3,它将转到目标表。对于这种情况,DEPTNO 1 和 2 出现 4 次。因此它们将转到 2 个目标表。

这里有tMemorizerow组件的使用吗?

我尝试使用tmap组件但找不到DEPT NO的出现。是否可以使用 tjavaflex 组件编写java代码? 我能够在 tfileinputdelimited 之后将输入流分为第一个 tmap 内的 4 个部分。然后我将采取 4 taggregaterow。

最佳答案

您可以使用标记行 使用此组件,您可以执行与 SQL 中的 GROUP BY 等效的操作。 此外,您还可以使用 group by 进行操作。 你使用里面的count函数

为了过滤 DEPTNO,您需要在 tmap 中使用过滤器

示例: enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

此外还有一些有关 taggregaterow 组件的信息: Here

关于java - 根据组计数分隔行 - TALEND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41568497/

相关文章:

java - 在堆转储中查询集合的工具

java - OSX 上的 Eclipse TPTP 或其他 java 分析解决方案。欢迎提出建议

java - Talend Server 外部 Jar 文件

talend - tOracleInput 不触发 OnSubjobError,只触发 OnComponentError?

带有要在 Talend 中实现的参数的 Java 程序

java - 在 MySQL 中存储转换为字符串字节数组的正确方法?

java - 随机的不行

java - 使用触发器生成 ID 与手动创建 ID

java - 如何在 TALEND 中划分 tmap 中字段的值

etl - Talend 作业可能存在锁定问题