<< ..
Hive数据倾斜不要用DISTINCT
发布时间:数仓工作中经常会遇到数据倾斜问题。 Hive中使用 distinct 计算字段枚举可能会报出内存溢出错误。 最好的解决办法还是修改distcint分而治之。
无脑爽版本:
SELECT COUNT(DISTINCT user_id) AS UV FROM metrics
大师优化后:
SELECT COUNT(user_id) as UV FROM metrics
GROUP BY user_id
以往操作数据时候没有太信SQL distinct 优化这套,确实在发生数据倾斜时候用这个办法更快更好,更符合MAPREDUCE思想。