full join 经典案例

full join 增量数据同步更新

我们知道我们的数仓数据很大一部分是来自业务数据库的,那么这个时候我们数据同步的方式有两种一种是增量同步一种是全量同步,那么这个时候我们增量同步进来的数据是要和我们的历史数据进行合并的,这个时候我们就可以使用full join ,因为我们同步过来的的增量数据不止有新增的数据还有修改的数据,这里我们不考虑拉链表,只存放当前最新的状态

假设我们将每天同步过来的数据存放在ods_user_inc 表里面

create table ods_user_inc(uid bigint,uname string,deptno bigint,gender string,optime DATETIME
)

将已经合并好的数据放在dw_user_inc,接下来我们就使用full join 完成数据的更新

insert overwrite table dw_user_inc
select
--所有select操作,如果ODS表有数据,说明发生了变动,以ODS表为准。
case when b.uid is not null then b.uid else a.uid end as uid,
case when b.uid is not null then b.uname else a.uname end as uname,
case when b.uid is not null then b.deptno else a.deptno end as deptno,
case when b.uid is not null then b.gender else a.gender end as gender,
case when b.uid is 

数仓工具—Hive实战之full join 经典案例(13)相关推荐

  1. 数仓工具—Hive实战之自关联经典案例(11)

    自关联经典案例 其实说到关联我相信很多人都知道,自关联其实是关联的一种,其实我们最常见的是两张不同的表之间的关联,但其实工作中我们能看到的其实还有一种关联,那就是一张表与它自己关联. 下面我们就通过几 ...

  2. 数仓工具—Hive实战之UDF汉字首字母(22)

    UDF 汉字首字母 今天这个业务背景其实很简单,就是公司有很多品牌,我们要提取每个名牌的第一个汉字的首字母,例如"宝马"就是 B , 然后"福特" 就是F,&q ...

  3. 数仓工具—Hive实战之累计计算(7)

    累计计算 对于数仓而言,我们一般都是增量计算,增量数据同步.增量数据计算,然后我们产出每天的指标,大多数情况下都是这样的,但是我们也有很多的指标需要把过去的数据和当前的数据进行累计,从而产出计算结果. ...

  4. 数仓工具—Hive实战之对比分析(15)

    对比分析 对比分析法是指将两个或两个以上的数据进行比较,分析它们的差异,从而揭示这些数据所代表的事物发展变化情况和规律性,当然最终的目的 .它可以非常直观地看出事物某方面的变化或差距,并且可以准确.量 ...

  5. 数仓工具—Hive实战之滑动/滚动时间窗口计算(19)

    时间滑动计算 今天遇到一个需求大致是这样的,我们有一个业务涉及到用户打卡,用户可以一天多次打卡,我们希望计算出7天内打卡8次以上,且打卡时间分布在4天以上的时间,当然这只是个例子,我们具体解释一下这个 ...

  6. 数仓工具—Hive实战之占比同比环比(10)

    同比环比的计算 测试数据 1,2020-04-20,420 2,2020-04-04,800 3,2020-03-28,500 4,2020-03-13,100 5,2020-02-27,300 6, ...

  7. 数仓工具—Hive实战之 UDF GIS(16)

    UDF GIS 什么是GIS GIS,全称Geographic Information System(地理信息系统), 也称为Geographic Information Science,即地理信息科 ...

  8. 数仓工具—Hive实战之拉链表(3)

    拉链表初识 需要查看历史某一时间节点的状态,同时考虑到存储空间:或则适用于数据会发生变化,但是大部分是不变的 在数据仓库的数据模型设计过程中,经常会遇到下面这种表的设计: 有一些表的数据量很大,比如一 ...

  9. 数仓工具—Hive实战之日活跃周活跃月活(12)

    日活跃周活跃月活 日活的定义非常简单,就是今日活跃的用户数,因为定义很简答,所以逻辑很简单,因此它的计算也非常简单.虽然简单,但是它却是我们的业务上非常重要的一个计算指标 日活会受到很多因素的影响,产 ...

最新文章

  1. 百面机器学习之特征工程
  2. SDUT 母牛的故事
  3. sql server 中获取前一天日期_图解SQL面试题:如何比较日期数据?
  4. 银河麒麟v10更新异常问题
  5. _新款福特F-150底价直售柔美线条硬朗风
  6. 团体程序设计天梯赛-练习集 L1-002 打印沙漏
  7. 如何在单元测试中测试异步函数,block回调这种
  8. 《Getting Real》读书笔记
  9. 书籍排版学习心得_为什么排版是您可以学习的最佳技能
  10. 外架小横杆外露长度规范要求_安全文明施工规范
  11. 《数据库系统概论》第一章笔记
  12. 兄dei,来封装一个自定义事件玩玩
  13. 利用 ucinet 和 netdraw进行可视化中心度分析
  14. 手机输入法哪家好用?用户目前最喜爱这4款,有你正在使用的吗
  15. html背景图片可以设置边框吗,css边框图片怎么设置?
  16. ASP.NET CORE 内置的IOC解读及使用
  17. 华为云WeLink云空间专题(上篇:WeLink云空间是什么?)
  18. 从mkv文件中提取src格式等字幕流
  19. 【H - Pots】
  20. Matlab中的DSP应用中的freqs函数

热门文章

  1. 如何把小米和计算机共享,小米手机怎么通过usb共享电脑上网
  2. 【每日知识】计时器方法
  3. 【Python绘图】绘图常见的构成元素3
  4. 写在2020.10.16
  5. java毕业设计学生作业管理系统Mybatis+系统+数据库+调试部署
  6. Swagger - 魔改版本的 bootstrap swagger UI 页面 ,springboot 集成
  7. ubuntu16.04中文乱码空格+fabric.js生成图片跨域问题
  8. 产品设计——必备网站(持续更新)
  9. JAVA必备—java流,考验你的想象力
  10. 前端及其相关技术综述