Hive では、count(distinct) は group-by よりも、reducer への負荷が不均衡になり、最終的に 1 つの悲しい reducer がすり減ってしまう可能性が高いと思います。以下のクエリの例。
なんで?
クエリの例:
select count(distinct user)
from some_table
group-by を使用したバージョン (より高速であると提案されています):
select count(*) from
(select user
from some_table
group by user) q
注:このプレゼンテーションのスライド 26 で問題について説明しています。