数据治理系列之小文件治理【面试吹牛草稿】

推荐阅读文章列表

大数据开发面经汇总【持续更新...】

我的大数据学习之路

大数据开发面试笔记V6.0

写在前面

在面试中你是否遇到过如下问题:

有没有遇到过小文件问题?

做项目的过程中有没有遇到一些难点?

你认为项目中比较有亮点的地方是什么?

不管面试官如何问,都可以这样去回答:

产生的原因

1)离线计算场景,一个reduce会对应一个小文件,如果reduce设置较大,就会对应大量的小文件

2)实时计算场景,流计算都是基于一个小窗口的数据来进行实时计算,显然会产生大量的小文件

3)数据源本身存在大量的小文件

带来的问题

1)存储问题:存储大量的小文件,会占用namenode大量的内存来存储元数据信息

2)计算问题:每个小文件需要一个maptask进行计算处理,浪费资源

解决方案

存量治理

采用Hadoop Archive归档的方式对小文件进行存储,这样能够将多个小文件打包为一个HAR文件

增量止血

  • 设置合适的reduce数量,官网建议:map数量和reduce数量是10比1
set mapred.reduce.tasks = 50;
  • 开启参数自动进行小文件合并
set hive.merge.mapredfiles = true;
  • 数据采集之前,将小文件进行合并后再进行入库
  • 在计算的时候,采用combineinputformat的切片方式,这样就可以将多个小文件放到一个切片中进行计算
#数据人的面试交流地##校招过来人的经验分享#
全部评论

相关推荐

_mos_:忍耐王
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
3
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务