Hive使用双重GroupBy解决数据倾斜问题

文章目录

  • 1.数据准备
  • [2.双重group by实现 解决数据倾斜](#2.双重group by实现 解决数据倾斜)
    • [2.1 第一层加盐group by](#2.1 第一层加盐group by)
    • [2.2 第二层去盐group by](#2.2 第二层去盐group by)

1.数据准备

create table wordcount(a string) row format delimited fields terminated by ',';

load data local inpath 'opt/2.txt' into table wordcount;

hive (default)> select * from wordcount;

OK

wordcount.a

b

a

a

a

a

b

b

c

c

e

d

2.双重group by实现 解决数据倾斜

随机数:ceil(rand()*10)

select split(salt_a,'')[1] alpah ,sum(count) from
(
select concat_ws('
',cast(ceil(rand()*10) as string),a) salt_a,count(1) count from wordcount group by concat_ws('',cast(ceil(rand()*10) as string),a)
) b group by split(salt_a,'
')[1];

alpah _c1

a 4

b 3

c 2

d 1

e 1

解析:

2.1 第一层加盐group by

select concat_ws('',cast(ceil(rand()*10) as string),a) salt_a,count(1) count from wordcount group by concat_ws(' ',cast(ceil(rand()*10) as string),a)

salt_a count

10_a 1

10_b 1

1_a 2

2_a 1

3_b 1

4_b 1

4_c 1

4_d 1

6_c 1

7_e 1

Time taken: 176.729 seconds, Fetched: 10 row(s)

2.2 第二层去盐group by

select split(salt_a,'_')[1] alpah ,sum(count) from

b group by split(salt_a,'_')[1];

相关推荐
心疼你的一切6 小时前
解密CANN仓库:AIGC的算力底座、关键应用与API实战解析
数据仓库·深度学习·aigc·cann
qq_12498707539 小时前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
十月南城12 小时前
Hive与离线数仓方法论——分层建模、分区与桶的取舍与查询代价
数据仓库·hive·hadoop
鹏说大数据13 小时前
Spark 和 Hive 的关系与区别
大数据·hive·spark
B站计算机毕业设计超人13 小时前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人13 小时前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
AI架构师小马13 小时前
Hive调优手册:从入门到精通的完整指南
数据仓库·hive·hadoop·ai
数据架构师的AI之路13 小时前
深入了解大数据领域Hive的HQL语言特性
大数据·hive·hadoop·ai
Gain_chance15 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
十月南城17 小时前
Hadoop基础认知——HDFS、YARN、MapReduce在现代体系中的位置与价值
hadoop·hdfs·mapreduce