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进行逻辑上的去重