![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据仓库
猫有九条命*
Wechat: The_cat_has_9_lives
热爱数据分析,专注业务逻辑
展开
-
DW层更新:HIVE脚本三步实现“缓慢变化维2更新”--保留历史数据
今天,就分享一下我过去一周的两点工作收获:1、DW层更新:“缓慢变化维2更新”,HIVE脚本三步实现2、ODS层更新:源数据去重的两种方式“缓慢变化维1”是全量覆盖,一步到位。而"缓慢变化维2",要保留历史数据,实现需要三步走。已经好几个月没有接触HIVE了,之前也提到我们的人力项目的HIVE数仓被替换成了oracle数仓。在项目结束之际,“经营驾驶仓”的源浩大佬善意提醒:“你之前的‘缓慢变换维’,hive脚本,是不是少了一步?”我之前给大家的科普的思路只有两步:1、获取“新”的有效数据原创 2020-12-05 11:32:12 · 3363 阅读 · 10 评论 -
(二)ODS层更新:源表和目标表,没有last_update,比对取增量,却重复抽到某部分数据,怎么解决?
源表和目标表,比对的时候,某部分数据,每次比对都被认为是“新数据”,然后每次抽取比对都会被过滤到目标表,从而造成目标表有很多重复数据,是什么原因呢?原因是该表的多个字段“数据缺失严重”,我们比对数据前是已经给空值/空格填了默认值,也就是说这些被填充过的字段,是有很多重复值的。我们联表查询时,关联字段时有重复值时,那这次查询肯定会发散,而我们用的kettle【合并记录】插件的原理也是联表查询。我的上一篇文章《ODS层更新:如果源数据没有“更新时间“字段,如何作增量抽取?我都踩过这些坑》提到用来联表的字段,.原创 2020-11-29 09:10:45 · 3983 阅读 · 8 评论 -
(一)ODS层更新:如果源数据没有“更新时间“字段,如何作增量抽取?我都踩过这些坑
增量抽取,无疑可以提高数仓的数据抽取效率和节省存储空间。一、源数据有“更新时间”字段源数据,有更新字段时(last_update),增量抽取的步骤:(流程概览)步骤二:细节–从步骤插入数据二、源数据无“更新时间”字段好,到主题了。源数据,有”更新时间“,抽起来真舒服,可现实的业务场景,源系统给我们的源表呢,是多张表拼凑起来的视图,然后源系统的开发人员,不知道是耿直,还是偷懒,就不给源数据增加”last_update",估计他每次上报的数据,都是全量更新过来的吧。广汽大圣这边接收的是广汽集团原创 2020-11-21 08:38:52 · 3864 阅读 · 0 评论 -
SCD2维度更新,如何紧急将hive脚本 改成 Oracle脚本
我面试到广汽大圣,据面试官说,我将加入的项目组是做HIVE数仓的。进去后,就虚心地跟各位大佬们学习写HIVE脚本更新,加班一个月996,HIVE的SCD1更新脚本、SCD2更新脚本都写得差不多了.叔激动地跟同组的同事击掌欢呼:“yes!yes! yes!”"我们项目的hive数仓 将改用 oracle数仓。。。“ 项目经理低沉地说。”我靠!电影都不敢这么拍!"我们慌得很。此时距离项目上线只有10天。“又要从零开始了吗?要写存储过程吗?”一、HIVE数仓SCD2更新:1、从【源表】获取相对于【维度原创 2020-11-07 09:30:41 · 614 阅读 · 0 评论