1.原因:

使用了distinct,hive在执行SQL前优化改写distinct 为 group by 模式--即将 "所有字段进行group by" = "grouping set(所有字段)"默认set hive.new.job.grouping.set.cardinality=64;

2.方法:

set hive.new.job.grouping.set.cardinality=128;(大于字段数)不用distinct,改用在子查询中进行group by进行逻辑上的去重

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: