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;

三、观察任务

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


相关文章
|
21天前
|
SQL 分布式计算 算法
【Hive】数据倾斜怎么解决?
【4月更文挑战第16天】【Hive】数据倾斜怎么解决?
|
4月前
|
SQL 数据采集 分布式计算
Hadoop和Hive中的数据倾斜问题及其解决方案
Hadoop和Hive中的数据倾斜问题及其解决方案
48 0
|
5月前
|
SQL HIVE
Hive数据倾斜处理集合
Hive数据倾斜处理集合
42 0
|
SQL 分布式计算 负载均衡
Hive数据倾斜的原因以及常用解决方案
Hive数据倾斜的原因以及常用解决方案
|
SQL 大数据 HIVE
Hive - distinct && group by 求 UV,PV 实战
给定数据表中包含用户 uid 和用户是否点击广告的标签 label,经常有需求统计用户的下发,打开 UV,PV,下面通过 Hive 实现统计并分析 distinct 与 group by 的性能与使用场景。
234 0
Hive - distinct && group by 求 UV,PV 实战
|
SQL 分布式计算 监控
【Hive】(十五)Hive 数据倾斜与调优
【Hive】(十五)Hive 数据倾斜与调优
363 0
【Hive】(十五)Hive 数据倾斜与调优
|
SQL 负载均衡 HIVE
Hive----数据倾斜
数据倾斜
77 0
|
SQL 数据采集 HIVE
实战 | Hive 数据倾斜问题定位排查及解决 (二)
Hive 数据倾斜怎么发现,怎么定位,怎么解决
392 0
实战 | Hive 数据倾斜问题定位排查及解决 (二)
|
SQL 分布式计算 Java
实战 | Hive 数据倾斜问题定位排查及解决 (一)
Hive 数据倾斜怎么发现,怎么定位,怎么解决
478 0
实战 | Hive 数据倾斜问题定位排查及解决 (一)
|
SQL 缓存 分布式计算
Hive千亿级数据倾斜解决方案
Hive千亿级数据倾斜解决方案
416 0