首页 > 编程源码 > Hive学习之路:Hive的数据倾斜

Hive学习之路:Hive的数据倾斜

楼主:资源分享 [官方] · 2020-6-22 ·  浏览5132 · 编程源码 · ID:
1、什么是数据倾斜?
由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点

2、Hadoop 框架的特性
  A、不怕数据大,怕数据倾斜
  B、Jobs 数比较多的作业运行效率相对比较低,如子查询比较多
  C、 sum,count,max,min 等聚集函数,通常不会有数据倾斜问题

文章来源于互联网。
- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者资源分享流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/31248.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
161条回复 |  最后回复于2020-6-22

资源分享 [官方]

1、 优先过滤后再进行 Join 操作,最大限度的减少参与 join 的数据量
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

 2、 小表 join 大表,最好启动 mapjoin
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

3、 Join on 的条件相同的话,最好放入同一个 job,并且 join 表的排列顺序从小到大
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

在使用写有 Join 操作的查询语句时有一条原则:应该将条目少的表/子查询放在 Join 操作 符的左边。原因是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加 载进内存,将条目少的表放在左边,可以有效减少发生 OOM 错误的几率。对于一条语句 中有多个 Join 的情况,如果 Join 的条件相同,比如查询
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

如果 Join 的 key 相同,不管有多少个表,都会则会合并为一个 Map-Reduce 任务,而不 是”n”个,在做 OUTER JOIN 的时候也是一样
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

如果 join 的条件不相同,比如:
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

Map-Reduce 的任务数目和 Join 操作的数目是对应的,上述查询和以下查询是等价的
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

在编写 Join 查询语句时,如果确定是由于 join 出现的数据倾斜,那么请做如下设置:
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

十三、Group By 优化
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

1、Map 端部分聚合
发布于2020-6-22

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
6人签到
已签0天
  • 46621帖子
  • 1936590热点量
  • 184876火热值