在尝试使用 Talend 构建数据仓库应用程序时,我们面临以下情况。
我们有两个表格看起来像
表主
ID | CUST_NAME | CUST_EMAIL
------------------------------------
1 | FOO | FOO_BAR@EXAMPLE.COM
事件表
ID | CUST_ID | EVENT_NAME | EVENT_DATE
---------------------------------------
1 | 1 | ACC_APPLIED | 2014-01-01
2 | 1 | ACC_OPENED | 2014-01-02
3 | 1 | ACC_CLOSED | 2014-01-02
master 和 events 表之间存在一对多的关系。因为,鉴于事件名称的数量有限,我建议我们将此结构非规范化为看起来像
ID | CUST_NAME | CUST_EMAIL | ACC_APP_DATE_ID | ACC_OPEN_DATE_ID |ACC_CLOSE_DATE_ID
-----------------------------------------------------------------------------------------
1 | FOO | FOO_BAR@EXAMPLE.COM | 20140101 | 20140102 | 20140103
THEDATE_ID
列引用时间维度表中的条目。
第一个问题:这是个好主意吗?该方案的其他替代方案是什么?
第二个问题:如何使用 Talend Open Studio 实现这一点?我想出了一种方法,将每个事件名称的数据与 cust_idtMap
一起使用组件移动到它自己的临时表中,然后使用另一个将它们链接在一起tMap
。在 talend 中还有其他方法可以做到这一点吗?