hive表拉链

本文介绍了Hive中的拉链表技术,用于处理维度变更。通过创建日历表并进行内连接,可以获取每天的拉链状态。同时强调了在维护机构表时,需要确保使用最新视图。在实践中,应注意切片日期的选择,并排查可能出现的数据量不一致问题,例如由于NULL和空字符串不一致以及编码问题导致的断链。解决方案包括统一数据清洗标准和检查编码设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一般维度变更用拉链,度量值变更可以用快照

--获取0-99
WITH a AS (SELECT explode(split('0,1,2,3,4,5,6,7,8,9',',')))
select cast(a1.col + 10*a2.col as int) from a  a1 JOIN a a2 ON 1=1

拉链表,做出一段日历表,每天拿去inner join不等关联拉链表获取出当天切片。这样就能获取出每天拉链表的状况,拿这个每天去匹配

create temporary table temp.v_dmn_org_daily as
WITH a AS (SELECT explode(split('0,1,2,3,4,5,6,7,8,9',',')))
SELECT t.*
      ,regexp_replace(d.dt_date,'-','') as dt_date
  FROM dim.v_fin_dmn_org t
 INNER JOIN (
   SELECT 
    date_sub('$rptDate', cast(a1.col + 10*a2.col as int)) dt_date,
    a1.col + 10*a2.col as num 
   FROM a a1 JOIN a a2 ON 1=1) d
    ON 1=1  and num <20
 WHERE regexp_replace(t.start_dt,'-','') <= regexp_r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值