本文主要是介绍Hive - hive.groupby.skewindata环境变量与负载均衡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
(3) SELECT ip,
(4) SELECT ip,
Group By 语句
- Map 端部分聚合:
-
- 并不是所有的聚合操作都需要在 Reduce 端完成,很多聚合操作都可以先在 Map 端进行部分聚合,最后在 Reduce端得出最终结果。
- 基于 Hash
- 参数包括:
-
- hive.map.aggr = true
是否在 Map 端进行聚合,默认为True - hive.groupby.mapaggr.checkinterval =100000
在 Map 端进行聚合操作的条目数目
- hive.map.aggr = true
- 有数据倾斜的时候进行负载均衡
-
- hive.groupby.skewindata = false
- 当选项设定为 true,生成的查询计划会有两个 MR Job。第一个 MR Job 中,Map 的输出结果集合会随机分布到Reduce 中,每个 Reduce 做部分聚合操作,并输出结果,这样处理的结果是相同的 Group By Key有可能被分发到不同的 Reduce 中,从而达到负载均衡的目的;第二个 MR Job 再根据预处理的数据结果按照 Group ByKey 分布到 Reduce 中(这个过程可以保证相同的 Group By Key 被分布到同一个 Reduce中),最后完成最终的聚合操作。
hive.groupby.skewindata变量
Currently when multiple distinct function is used,hive.groupby.skewindata optimization parameter shall be set false,or else an exception is raised:
Error in semantic analysis: DISTINCT on different columns not supported with skew in data
Skew groupby should support multiple distinct function.
- 顶
- 0
- 踩
这篇关于Hive - hive.groupby.skewindata环境变量与负载均衡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!