Hive group by 数据倾斜问题处理

简介: Hive group by 数据倾斜问题处理

一、背景

发现一个10.19号的任务下午还没跑完,正常情况下,一般一个小时就已经跑完,而今天已经超过3小时了,因此去观察实际的任务,发现9个map 其中8个已经完成,就一个还在run,说明有明显的数据倾斜

二、数据倾斜问题处理和Hive SQL 优化

原始sql

insert overwrite table raw_search_behavior partition(dt='2022-10-19')
select cookie_id,event_query,count(*) as cnt,
max(from_unixtime(unix_timestamp(event_time), 'yyyyMMddHHmmss')) as last_dt
from raw_query
where dt >= '20220718' and dt <= '20221019' and event_query is not null
group by cookie_id,event_query

发现有使用group by

优化后sql

insert overwrite table raw_search_behavior partition(dt='2022-10-19')
select split(tkey,'_')[1] as cookie_id,event_query, sum(cnt) as cnt,max(last_dt) as last_dt from
(
   select concat_ws('_', cast(ceiling(rand()*99) as string), cookie_id) as tkey,event_query, count(*) as cnt,
 max(from_unixtime(unix_timestamp(event_time), 'yyyyMMddHHmmss')) as last_dt
        from raw_query
 where dt >= '20220718' and dt <= '20221019' and event_query is not null
     group by concat_ws('_', cast(ceiling(rand()*99) as string), cookie_id),event_query
) temp
group by split(tkey,'_')[1],event_query;

三、观察任务

在一小时内结束,并且没有哪个节点耗时较长


相关文章
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
47 4
|
2月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
40 2
|
3月前
|
SQL 数据处理 HIVE
HIVE的数据倾斜调优
hive数据倾斜主要是由shuffle引起的,而引起shuffle的又主要有四种情况,分别为: 1.group by 2.join 3.count(distinct) 4.开窗函数
66 8
|
7月前
|
SQL 缓存 分布式计算
手把手教你解决 Hive 的数据倾斜
数据倾斜是 Hive 中影响任务执行效率的现象,表现为某些任务处理的数据量或耗时远超其他任务。根本原因是 Shuffle 后 Key 分布不均,导致部分 Reduce 负载过高。常见场景包括空值聚合、不可拆分大文件、数值膨胀、不同数据类型 Join、Count(distinct) 计算以及表 Join 操作。解决方法包括过滤空值、转换数据类型、调整聚合策略、使用 MapJoin 等。通过合理优化,如设置 `hive.groupby.skewindata` 和 `hive.map.aggr` 参数,可以有效缓解数据倾斜问题。
710 2
|
7月前
|
SQL 分布式计算 算法
【Hive】数据倾斜怎么解决?
【4月更文挑战第16天】【Hive】数据倾斜怎么解决?
|
7月前
|
SQL HIVE
Hive数据倾斜处理集合
Hive数据倾斜处理集合
143 0
|
7月前
|
SQL 数据采集 分布式计算
Hadoop和Hive中的数据倾斜问题及其解决方案
Hadoop和Hive中的数据倾斜问题及其解决方案
110 0
|
SQL 分布式计算 负载均衡
Hive数据倾斜的原因以及常用解决方案
Hive数据倾斜的原因以及常用解决方案
|
SQL 大数据 HIVE
Hive - distinct && group by 求 UV,PV 实战
给定数据表中包含用户 uid 和用户是否点击广告的标签 label,经常有需求统计用户的下发,打开 UV,PV,下面通过 Hive 实现统计并分析 distinct 与 group by 的性能与使用场景。
336 0
Hive - distinct && group by 求 UV,PV 实战
|
SQL 分布式计算 监控
【Hive】(十五)Hive 数据倾斜与调优
【Hive】(十五)Hive 数据倾斜与调优
423 0
【Hive】(十五)Hive 数据倾斜与调优