【发布时间】:2014-10-08 07:34:32
【问题描述】:
在尝试使用 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
DATE_ID 列引用时间维度表中的条目。
第一个问题:这是个好主意吗?该方案的其他替代方案是什么?
第二个问题:如何使用 Talend Open Studio 实现这一点?我想出了一种方法,使用tMap 组件将每个事件名称的数据与cust_id 一起移动到它自己的临时表中,然后使用另一个tMap 将它们链接在一起。在 talend 中是否有其他方法可以做到这一点?
【问题讨论】:
标签: sql data-warehouse talend dimensional-modeling