kettle学习之--缓慢变化维度(SCD)

本文介绍了ETL过程中处理缓慢变化维度的三种常见类型:历史数据修改、历史与新增数据保留、维度成员属性改变。详细阐述了每种类型的处理方法,如使用更新操作、维度查询更新控件以及存储过程生成新维度属性,以确保数据仓库的准确性和一致性。
摘要由CSDN通过智能技术生成

我们在ETL的过程中就要考虑到缓慢变化维度的处理。对于缓慢变化维度,有三种情况:

1.缓慢变化维度的第一种类型:历史数据需要修改。这种情况下,我们使用update方法来修改表中的数据。例如:产品的id为123后来发现id错了,需要改写为456,那么我们就在ETL处理时直接修改维度表为456.这种情况我们使用插入更新控件就可以。

2.缓慢变化维度第二种类型:历史数据保留,新增数据也要保留。这时,要将元数据更新,将新数据插入,我们使用数据仓库中的维度查询更新控件。例如某一员工2005年在A部门,2006年掉到了B部门。那么在统计2005年的数据的时候就应该将员工定位到A部门在统计2006年的数据的时候就应该定位到B部门,然后再有新的数据插入时,将按照新部门处理,这样的做法时将该维度成员列表打上时间戳,即将历史数据生效的时间段作为它的一个属性,再与原始表匹配生成事实表时将按照时间段进行关联,这种方法的好处时该维度成员生效时间明确。

3.缓慢变化维度第三种类型:新增数据维度成员改变了属性。例如:某一维度成员新加入了一列,该列在历史数据中不能基于它浏览,而在目前数据和将来数据中可以按照它浏览,那么此时我们需要改变维度表属性,即假如新的字段列。那么我们将使用存储过程或程序生成新的维度属性,在后续的数据中将基于新的属性进行查看。这种类型,我们只保留两个,最新的和上一条记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来@音律

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值