hive 数据 偏斜 及其实现方案
发布时间
阅读量:
阅读量
当前数据倾斜现象主要表现为两种类型,其一是由大量空值引发,其二是因一对一映射关系失衡所致,以下将针对这两种情形分别阐述对应的应对策略。
空值处理与影响分析
此种情形下问题较为容易处理,存在两种应对策略,具体选择哪一种方式需依据是否需要保留主键为空值的该行记录中的其他信息而定,因为在某些情况下这些信息仍具有参考价值。
以下是伪代码:
1.这种情况在join的时候直接过滤空值,最后给union all上
select * from a join b on a.id is not null and a.id = b.id
union all
select * from a where a.id is null;
2.给空值字段取一个字符串常量+随机数
select * from a left outer join b on
case when a.id is null then concat('常量字段',rand()) else a.id end = b.id
相
全部评论 (0)
还没有任何评论哟~
