hive 列表去重_HIve 总结

本文详细介绍了Hive的特点、数据倾斜处理、HiveSQL的MR转换、压缩格式和优化措施,如避免数据倾斜、使用MapJoin、动态分区、调整任务并行性和启用JVM重用等,旨在提升Hive查询效率。
摘要由CSDN通过智能技术生成

一、Hive的特点以及和RDBMS的异同:

1、hive是一个数据仓库的工具,可以将结构化的数据完全映射成一张表,优点是学习成本低,底层是转化为MR的程序,它是不支持事务,不支持实时查询,具体和RDBMS区别如下:

(转载)

二、Hive中的数据倾斜:

1、数据倾斜的原因:(1)、key分布不均匀。(2)、业务数据本身的原因。(3)、建表考虑不周。(4)、某些SQL本身就有数据倾斜。

2、如何避免数据的倾斜:给key一个随机的值,打散key。

3、Hive中的参数调节:①hive.map.aggr = true。②hive.groupby.skewindata = true。作用:有数据倾斜的时候进行负载均衡,当选项设定位true,生成的查询计划会有两个MR Job。第一个MR Job中,Map的输出结果集合会随机分布到Reduce中,每个Reduce做部分聚合操作,并输出结果,这样处理的结果是相同的Group By Key有可能被分发到不同的Reduce中,从而达到负载均衡的目的;第二个MR Job再根据预处理的数据结果按照Group By Key 分布到 Reduce 中(这个过程可以保证相同的 Group By Key 被分布到同一个Reduce中),最后完成最终的聚合操作。

4、SQL语句的调节:(1)、用好join key。(2)、map join让小表先进内存。(3)、大表join小表,把倾斜的数据分配到不同的reduce。(4)、count distinct 处理大量重复的数据。(5)、应该将条目少的表放在join操作符的左边,将

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值