MAPREDUCE服务 MRS-Hive Group By语句优化:注意事项
注意事项
- Group By数据倾斜
Group By也同样存在数据倾斜的问题,设置“hive.groupby.skewindata”为“true”,生成的查询计划会有两个MapReduce Job,第一个Job的Map输出结果会随机的分布到Reduce中,每个Reduce做聚合操作,并输出结果,这样的处理会使相同的Group By Key可能被分发到不同的Reduce中,从而达到负载均衡,第二个Job再根据预处理的结果按照Group By Key分发到Reduce中完成最终的聚合操作。
- Count Distinct聚合问题
当使用聚合函数count distinct完成去重计数时,处理值为空的情况会使Reduce产生很严重的数据倾斜,可以将空值单独处理,如果是计算count distinct,可以通过where子句将该值排除掉,并在最后的count distinct结果中加1。如果还有其他计算,可以先将值为空的记录单独处理,再和其他计算结果合并。
- .group域名注册_如何注册.group域名
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是Hue_如何使用Hue
- GaussDB数据库常用语句_GaussDB数据库_高斯数据库常用语句
- MapReduce服务_什么是MapReduce服务_什么是HBase
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- 什么是Spark_如何使用Spark_Spark的功能是什么
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- MapReduce服务_什么是Kafka_如何使用Kafka
- TaurusDB并行查询_TaurusDB内核_TaurusDB并行执行_PQ