当前位置:   article > 正文

hive 优化(一)超大数据集动态分区优化_hive1一亿数据聚合

hive1一亿数据聚合

    需求:     一张300+字段,1亿数据量的表,去重并重新按照天分区 ,

   (1)方案:直接全表去重并按照字段 动态分区 

            结果 : 失败,由于数据量和字段过多,全表去重(row_number over())和 动态分区 都消耗过多资源,根本无法运行成功

   (2)方案: 1.全表去重到中间表

                      2.中间表动态分区至原表

            结果:失败, 中间表运行成功使用15分钟,但是中间表动态分区至原表时,整个集群文件操作符飙升,导致集群hbase 节点也不停 掉,程序也报broken_pip 的错误,搞的大家很郁闷。冷静分析如下:原表全表去重之后没做任何处理,导致生成了1099个reduce文件(集群单job 最大redece 数量),而每个文件大约含有100个分区日期,这就导致了每个文件要生成100个小文件。一共要生成10万个文件,导致整个集群文件操作符沾满,进而影响集群和hbase

    (3)最终方案。

                       1.全表去重到中间表 时 distribute by   分区字段,这样就可以 将相同分区的数据放到同一个文件中 用时 15 分钟

                       2.新处理过的中间表 动态分区至原表, 用时3分钟,问题完美解决

           

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/486384
推荐阅读
相关标签
  

闽ICP备14008679号