在各个表做关联的时候,如果主表过大且某个值过多再去join其他表很容易产生数据倾斜问题
我们的思路就是要将数据均匀的分配到每个任务上
这里我们以空值为例,使用rand(1)即可均匀分配数据
select *
from
(select *,case when department in ('-999','') then rand(1) else department
end as department2 from
profile_v2.detail_member_user_info_base) a
LEFT JOIN profile_v2.member_user_info_red_ticket b ON a.department2 = b.store_id;
最后
以上就是犹豫长颈鹿最近收集整理的关于hive join时主表空值过多产生数据倾斜问题的全部内容,更多相关hive内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复