开发者社区> 问答> 正文

conslidate是怎么优化Hash shuffle时在map端产生的小文件?

conslidate是怎么优化Hash shuffle时在map端产生的小文件?

展开
收起
芯在这 2021-12-06 00:48:05 341 0
1 条回答
写回答
取消 提交回答
  • conslidate为了解决Hash Shuffle同时打开过多文件导致Writer handler内存使用过大以及产生过多文件导致大量的随机读写带来的低效磁盘IO;

    conslidate根据CPU的个数来决定每个task shuffle map端产生多少个文件,假设原来有10个task,100个reduce,每个CPU有10个CPU,那么使用hash shuffle会产生10100=1000个文件,conslidate产生1010=100个文件。

    备注:conslidate部分减少了文件和文件句柄,并行读很高的情况下(task很多时)还是会很多文件。

    2021-12-06 00:48:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载