开发者社区> 问答> 正文

Hive表关联查询,如何解决数据倾斜的?

Hive表关联查询,如何解决数据倾斜的?

展开
收起
游客2k7fijmpxy3ik 2021-12-06 21:46:07 605 0
1 条回答
写回答
取消 提交回答
  • 1.参数调节hive.map.aggr = true

    hive.groupby.skewindata=true

    有数据倾斜的时候进行负载均衡,当选项设定位true,生成的查询计划会有两个MR Job。 2.SQL 语句调节1)选用join key分布最均匀的表作为驱动表。做好列裁剪和filter操作,以达到两表做join 的时候,数据量相对变小的效果。 3.大表Join大表把空值的key变成一个字符串加上随机数,把倾斜的数据分到不同的reduce上,由于null 值关联不上,处理后并不影响最终结果。 4.count distinct大量相同特殊值count distinct 时,将值为空的情况单独处理,如果是计算count distinct,可以不用处理,直接过滤,在最后结果中加1。如果还有其他计算,需要进行group by,可以先将值为空的记录单独处理,再和其他计算结果进行union

    2021-12-06 21:49:28
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Comparison of Spark SQL with Hive 立即下载
Hive Bucketing in Apache Spark 立即下载
2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载