现在银行etl还要做拉链表吗_hive 拉链表 实现全量数据 增量更新

背景:

数据表字段有IP,IP省份,IP城市,最新访问时间,假如目前一共有100W的IP我第一次初始化的时候完成初始化表插入,然后每天都有5W左右的IP活跃,然后我要更新这5W个IP的记录到初始化的表,他的IP省份如果有变更也要更新保留最新的数据,更新最新的访问时间等。

所有操作均在hive表上

1.需要2个表 数据拉链表,每日更新数据表

DDL语句如下

每日更新表

create table dm.day_tbl(

ip string comment'ip',

country string comment'国家',

province string comment'省份',

city string comment'城市',

day string comment'day',

)

comment '每日更新表'

row format delimited

fields terminated by '\u0001'

stored as parquet;

数据拉链表

create table dm.zipper_tbl(

ip string comment'ip',

country string comment'国家',

province string comment'省份',

city string comment'城市',

t_start_date string comment'start_date',

t_end_date string comment'end_date'

)

comment '数据拉链表'

row format delimited

fields terminated by '\u0001'

stored as parquet;

ETL语句如下

INSERT OVERWRITE TABLE dm.zipper_tbl

SELECT * FROM

(

SELECT zipper_tbl.ip,

zipper_tbl.country,

zipper_tbl.province,

zipper_tbl.city,

zipper_tbl.t_start_date,

CASE

WHEN zipper_tbl.t_end_date = '9999-12-31' AND day_tbl.ip IS NOT NULL THEN date_add(day_tbl.day,-1)

ELSE zipper_tbl.t_end_date

END AS t_end_date

FROM dm.zipper_tbl AS zipper_tbl

LEFT JOIN dm.day_tbl AS day_tbl

ON zipper_tbl.ip = day_tbl.ip

UNION ALL

SELECT union_day_tbl.ip,

union_day_tbl.country,

union_day_tbl.province,

union_day_tbl.city,

union_day_tbl.day AS t_start_date,

'9999-12-31' AS t_end_date

FROM dm.day_tbl AS union_day_tbl

) AS main_tbl WHERE main_tbl.t_end_date = "9999-12-31"

上面ETL是参考常见的拉链表,最后过滤一下时间,就可以得到全量最新的数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛顿新定律:凭本事得到的,凭什么要还?

后记事后,超模君提出用上帝开过光的真苹果来换回自己的苹果手机,但是惨遭牛顿君拒绝,理由是苹果手机更能激发他的创作灵感……面对这种鬼话,超模君敢怒不敢言。更惨的是,上帝说苹果手机不报销……艾萨克牛顿&#xff0…

NOI导刊模拟2—电话网络 解题报告

题目大意:给出一个图,顶点为1到n和一个值k,求出包含顶点1到顶点n的通路的子图中,第k1大的边最短为多少?(若存在一条从1到n路径边数小于等于k,则返回0,若不存在通路,返回-…

好书推荐 -《国富论》-15-09

好书推荐-《国富论》-15-09.md—/Users/zjh/Documents书籍 《国富论》-亚当斯密-陕西师范大学出版社 推荐理由 《国》是一本非常通俗易懂的经济书籍,用简单的语言讲解从个体,到小型市场,再到国家和政府的经济结构和规律。虽然亚当斯密的一些观…

04Prism WPF 入门实战 - Module

1.概要源码及PPT地址:https://github.com/JusterZhu/wemail视频地址:https://www.bilibili.com/video/BV1KQ4y1C7tg?sharesourcecopywebModule,具有特定功能,且独立存在则称为成为模块。下图为Prism体系中的关系结构图。在Prism体…

虚拟机(VMware Workstation)中,把连接网络的模式由“NAT模式”,改成“自动桥接模式”,网速大大的提升...

安装虚拟机,默认情况下,联网的模式是NAT,即跟主机是转发共用网络资源的,这样就非常慢,时常网页都打不开,现把它改成桥接模式,让它独立成为一台物理机,网速有大大的改善,设…

如何保持纯洁男女关系……

1 倒也没毛病▼2 差点以为是狗子!!▼3 大哥:我裤子没破!▼4 女朋友梦到了啥??▼5 忍不住了,嘻嘻嘻...(via.小风车车)▼6 亲爸爸!!▼7 哈哈哈…

【转】一个关于fork()的笔试题,考了好几遍,终于找到答案了

笔试至少3次见到这个题,都是瞎编的,今天群里有人问,然后有人放出了这个地址:http://coolshell.cn/articles/7965.html,让我恍然大明白,豁然好脾气。 感谢这位陈皓同学(名字很熟,不记…

android自定义金额输入键盘_Android 自定义输入支付密码的软键盘实例代码

Android 自定义输入支付密码的软键盘有项目需求需要做一个密码锁功能,还有自己的软键盘,类似与支付宝那种,这里是整理的资料,大家可以看下,如有错误,欢迎留言指正需求:要实现类似支付宝的输入支…

IE6 IE8下背景图片不显示问题

更改background:url()no-repeat; 去掉no-repeat即可解决问题!转载于:https://www.cnblogs.com/dream-w/p/4781644.html

C# 选中 DataGridView 控件中的行时显示不同的颜色

可以利用 DataGridView 控件的 SelectionMode、ReadOnly 和 SelectionBackColor 属性实现当选中DataGridView控件中的行时显示不同的颜色。SelectionMode属性用于设置如何选择 DataGridView 的单元格。语法如下:public DataGridViewSelectionMode SelectionMode{get;set;}属性值…

Objective-C( Foundation框架 一 常见的结构体)

常见的结构体 (NSPoint,CGPoint)、(NSRange,CGRange)、(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的结构体它的定义如下&#xff1…

32岁武汉硕士毕业4年后重新高考,考上本硕需再读8年:“不是一时冲动”

全世界只有3.14 % 的人关注了爆炸吧知识9月5日,程传坤收到了湖北中医药大学的录取通知书。7月8日下午5时10分,32岁的程传坤走出湖北省武汉市新洲一中考点,一脸轻松,拿着准考证特意在新洲一中门前留影。这是他硕士毕业4年后再战高考…

打开本地文件_可以跨软件搜索文件?结构式检索你一定要学会!

面对电脑中日积月累的大量结构式,如何能快速找到自己想要的文件,有时真是一个让人头疼的问题。KingDraw PC版内置的结构式检索功能,可以帮助我们轻松解决这个难题。KingDraw PC版中,我们有两种途径可以检索结构式——右键菜单中检…

C# static readonly 与 const 的区别

static readonly 与 const 的区别: const 表达式的值是在编译时形成的; static readonly 表达式的值直到程序运行时才形成;转载于:https://www.cnblogs.com/xiangfeideshui/archive/2012/10/15/2724260.html

WPF实现雷达图(仿英雄联盟)

WPF开发者QQ群: 340500857 | 微信群 -> 进入公众号主页 加入组织转载 有小伙伴提出需要实现雷达图。 由于在WPF中没有现成的雷达图控件,所以我们自己实现一个。PS:有更好的方式欢迎推荐。01—代码如…

Emoji:搜索将与您找到表情符号背后的故事

眼下。秉已经开始支持emoji搜索,这意味着,你可以插入或粘贴系列emoji表情,让我们的爱、微笑、食品等。。些表情随意组合,必应总会带给你非常多有趣的但却没有不论什么实际用途的搜索结果。这是一项非常新鲜的东西,并且…

python3 2.00gb怎么去掉单位_最值得期待的Python 3.9的新功能

Python 3.9 beta预计下个月就要发布了,那么3.9有那些让我们期待的新功能和变更呢?本我我们一起来说Python 3.9的新功能的。安装测试版为了能够实际探索Python 3.9 的功能,我们需要先下载一个Python 3.9 alpha/beta并安装。wget https://www.p…

TSQL语句中的Like用法

SQL Server:SQL Like 的特殊用法 %:匹配零个及多个任意字符; _:与任意单字符匹配; []:匹配一个范围; [^]:排除一个范围 SymbolMeaninglike 5[%]5%like [_]n_nlike [a-cdf]a, b, c, d…

C++ virtual笔试

一直在赶场&#xff0c;下面是出了N次的题... 当基础看了 #include <iostream> using namespace std; namespace Torxie { // class CFirst { public: void func() { cout<< "CFirst"&l…

这6部超经典的物理电影,居然还有人没有看过?

全世界只有3.14 % 的人关注了爆炸吧知识开篇警告&#xff1a;这是一篇福利文&#xff01;今天小编给热爱物理及数学的小伙伴们&#xff0c;分享6部豆瓣评分8分以上&#xff0c;与数学和物理领域相关的经典电影&#xff0c;帮助大家在工作、学习之余劳逸结合。这些影片除了涉及数…