Hive 典型的中表内数据除重写法

insert overwrite table store

select t.p_key,t.sort_word from

( select p_key,

sort_word ,

row_number()over(distribute by p_key sort by sort_word) as rn

from store) t

where t.rn=1;

存量表: store

增量表:  incre

字段:

1. p_key   除重主键

2. w_sort  排序依据

3. info    其他信息

方法一(union all + row_number()over ):

insert overwrite table limao_store

select p_key,sort_word

from ( select tmp1.*, row_number() over(distribute by sort_word sort by p_key desc) rownum

from ( select *

from limao_store

union all

select *

from limao_incre

) tmp1

) hh

where hh.rownum = 1;

分析, 长表排序

方法二(left outer join + union all):

注意:  hive 不支持 顶层 union all ,而且union all 结果必须有别名

insert overwrite table limao_store

select t.p_key,t.sort_word from (

select s.p_key,s.sort_word from limao_store s left outer join limao_incre i on(s.p_key=i.p_key) where i.p_key=null

union all

select p_key,sort_word from limao_incre);

分析:  不能识别 incre中的重复数据   长表关联 ,  表宽度加倍

方法三(left outer join + insert into)

insert overwrite table store

select s.* from store s left outer join incre i on(s.p_key=i.p_key) where i.p_key=null

insert into table jm_g_l_cust_secu_acct

select * from jm_g_l_cust_secu_acct_tmp;

分析:  insert into 最好不用。 使用insert into 在hdfs中的表现为,在表(分区)文件夹下,建立新的文件

存放insert into数据, 造成文件碎片,降低以后该表查询效率。

==================================================================================

use nets_life;

create table limao_store

(

p_key string,

sort_word string

)ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;

create table limao_incre

(

p_key string,

sort_word string

)ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;

建表语句

use nets_life;

create table limao_store

(

p_key string,

sort_word string

)ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;

create table limao_incre

(

p_key string,

sort_word string

)ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;

=====================================================

================================================================================================

总结:  方法二和方法三原理相同。 方法三建议避免

方法二、方法三 暗含逻辑:

1.增量同步数据(incre)和存量数据(store)冲突时,总是认为增量数据为最新的

2.无论增量数据表  还是 存量数据表, 表内没有重复字段

方法一, 不暗含上述逻辑。 全部合并,严格按排序字段排名取第一

一千万数据 store 和 一百万数据 incre 测试结果

方法一:  Time taken: 317.677 seconds

方法二:  Time taken: 106.032 seconds

总结: 方法二时间使用上大幅度少于方法一,但没有内部除重功能,只能用于比较除重。

==============================================

hive 大数据 除重问题研究相关推荐

  1. 【ATF】林伟:大数据计算平台的研究与实践

      2016 ATF阿里技术论坛于4月15日在清华大学举办,主旨是阐述阿里对世界创新做出的贡献.阿里巴巴集团技术委员会主席王坚,阿里巴巴集团首席技术官(CTO)张建锋(花名:行癫),阿里巴巴集团首席风 ...

  2. 我国区域大数据产业规划布局研究

    我国区域大数据产业规划布局研究  摘要 目前,我国大数据产业进入快速发展阶段.围绕国家大数据战略,省域层面及重点城市地方政府陆续出台了诸多大数据相关政策,特别是对大数据产业发展进行了规划,为推动产业快 ...

  3. 《中国人工智能学会通讯》——12.58 大数据不确定性学习的研究

    12.58 大数据不确定性学习的研究 一个建立在常规数据集上的学习模型和算法一般是不能拓展到大数据的,原因有多个.基于不确定性的学习模型自然也是如此.不确定性的处理对大数据学习更为重要,有些与不确定性 ...

  4. 【2017年第3期】面向共享的政府大数据质量标准化问题研究

    洪学海1,王志强2,杨青海2 1.中国科学院计算技术研究所,北京 100190 2. 中国标准化研究院,北京 100191 摘要:回顾了国内外数据质量研究与实践的进展,重点对ISO 8000数据质量国 ...

  5. 刘鹏教授诚邀在读博士来南京进行大数据、人工智能课题研究

    在大数据发展得如火如荼之际,人工智能又疾驰而来.人民日报曾指出,未来3-5年,国内大数据人才缺口达到150万之多,工信部教育考试中心副主任周明也曾透露,中国人工智能人才缺口超过500万人. 由于供不应 ...

  6. 大数据交易研究_学术著作 | 基于电商平台大数据的特征价格指数研究——统计研究...

    基于电商平台大数据的特征价格指数研究 作者:雷泽坤,辽宁大学经济学院,清华大学中国经济社会数据研究中心:郑正喜,上海财经大学统计与管理学院,清华大学中国经济社会数据研究中心:许宪春,清华大学中国经济社 ...

  7. oracle 孙帅_农村居民点空间大数据平台构建方法研究

    农村居民点空间大数据平台构建方法研究 孙帅,王彪 (北方工业大学建筑与艺术学院,北京 100144 ) [摘 要] 通过低空无人机实景建模技术,采集并构建农村居民点空间大数据平 台.充分发掘海量空间数 ...

  8. 国外学者眼中的大数据:在社科研究中的运用尚在探索

    运用大数据的社科研究尚在探索之中 用数据作分析已经成为当前科学研究大趋势.人们常常能够看到自然科学领域学者利用各种各样的数据解决科学难题.然而,社会科学领域学者对大数据的应用,仍在不断探索当中.近期, ...

  9. 基于手机定位和交通大数据的人口流动研究

    <基于手机定位和交通大数据的人口流动研究>美国威斯康星麦迪逊分校高松博士2020年2月21日报告PPT

最新文章

  1. lr java vuser_LR Java脚本编写方法
  2. 农牧行业销售经理生存手册(二)
  3. js中图片显示用ajax,javascript - 前台用ajax上传图片,怎么让图片上传完成显示的缩略图片的时候显示分辨率大小...
  4. 95后实习生的远程办公体验(asp.net mvc\C#技术栈)
  5. excel线性拟合的斜率_协方差分析:方差分析与线性回归的统一
  6. 项目实训第二周(车道线检测)
  7. myeclipse中加入jad查看jar源代码
  8. java对文件进行删除操作_Java删除文件夹和文件
  9. Java程序设计基础作业目录(作业笔记)
  10. SECS I II HSMS 和GEM初步资料总结
  11. 【深度学习】卷积神经网络(CNN)原理
  12. CSDN日报190910:程序员都秃头,商务个个是人精
  13. 稻盛和夫经典著作----《心》读后感
  14. html 文字自动转大写
  15. 贴片晶振为智能手环带来了哪些功能?
  16. 实习生快速入手项目php,2019.7最惨的三次面试经历-----百度PHP实习生面经
  17. 技术族谱:预告片的制作思路
  18. 转:安迪·格鲁夫:你无法避免开会,但可以让它更有效率
  19. 传统人工智能中的三大问题
  20. MySQL添加多个管理地址_mysql如何绑定多个ip地址?

热门文章

  1. 基于alios系统门禁uart串口应用编写
  2. (五)、马尔科夫预测模型
  3. 计算机网络:路由的概念及其分类
  4. linux 串口发送 内核,使用串口线真机调试Linux内核
  5. 解决Ueditor编辑器图片保存路径问题
  6. DEJA_VU3D - Cesium功能集 之 004-动态单体化(整幢建筑)
  7. Python包 - networkx
  8. HTTP协议是什么?
  9. PaperWork php源码,一个开源记笔记/存档的程序:Paperwork
  10. 关于 pygame中,检测按键按下