永发信息网

如何用etl工具kettle生成拉链表

答案:1  悬赏:0  手机版
解决时间 2021-04-26 04:25
如何用etl工具kettle生成拉链表
最佳答案
拉链表是在数据仓库中常见的表,主要用还存储不按时间变化的表,比如客户基本信息表。
下面先建两个实例表,user_info和user_info_l,其中user_info_l为拉链表。
user_info表及数据:

user_info_l表及转换后的数据:

kettle的设计其实很简单,就一个“表输入”一个“维度查询/更新
下面来看一下表输入的配置:

这个很简单,但是一定要有个基本表的数据日期
下面几个是“维度查询/更新”的配置:




下面介绍一下设置中的关键地方,依次如下:
1.不钩选的话变化的数据不会插入,至于不勾选时的用途,大家可以研究一下。
2.这里是创建每个版本关键字,基本就是源表的主键。
3.这里是要更新的字段,除了源表关键字,其他都选好了。
4.截图的时候忘了到几了。。。
5.kettle自动给啦链表生成的主键。
6.代理关键字获取的方法。
7.每条记录的版本号,每变化依次一个版本号。
8.根据哪个字段判断是哪天更新的,也可以使用系统时间。
9.拉链的最早开始日期,第一次插入空表时也是这个日期。
10.拉链的最晚结束日期,更新的字段都使用这个值,被更新后变为更新的日期,可以参考上面图中user_info_l里的数据。
我在用的时候发现了一个问题,不知道是bug,还是kettle有意为之。就是在插入拉链表时,会产生一条代理主键为0的空记录。可能是bug,也可能是kettle为防止数据出现问题,强制让其他字段为可以为空。
要解决这个问题很简单,只需要在加一个删除的trans即可:

生成记录的配置如下:

然后把两个trans放到一个job里即可,job如下图:

至此,拉链表便创建完成。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手机卡坏了,不是自己身份证办的,是杭州卡,
50CC传承手套,江苏三区大概什么价位(有图)
杨柳青年画馆地址有知道的么?有点事想过去
毛桃核手串要多少个能辟邪?
有什么是不相同的意思比较文雅的词语?
青铜华盖是不是马克尼尼的代表作?
QQ空间日志浏览
请问烫面怎么做?
1200左右能买诺基亚有什么功能啦
如何才能取消仿问空间问题
下一站幸福 奶奶带小乐去生态旅行是哪一集
光大银行上市对散户有什么影响?
渤海大学-食品贮藏加工及质量安全控制工程技
最近的腾讯游戏大奖活动
学校2015里李恩菲和高恩星是两个人演的吗
推荐资讯
关于文明校园的谚语,关于学校的名人名言
最近有什么好玩的游戏 浪漫类的 给推荐下
白布酒厂直销处地址有知道的么?有点事想过去
有苏州到利辛县的直达车吗
问道装备会暴属性吗?
这个字怎么读啊???
德圣基地址有知道的么?有点事想过去
在天津市租一套两屋一厅的房子得需要多少钱?
睁眼瞎的引申为
为什么是陈翔下了?
怎么下载Mq4a啊?
beyond 是怎么红的、??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?