HDFS Sequence File 存一个大文件,还是存多个小文件?
目前正在使用Sequence File
对已有数据进行(BLOCK)压缩。
有两种存储方式
一个大文件,所有记录都保存在这个文件里面
多个小文件,文件大小正好和HDFS block大小一致(128MB)
数据split决定mapper数量,而split默认是block大小,所以当进行MR计算的时候,以上两种方式没有什么区别。
目前我知道第二种方式的缺点就是namenode需要维护更多的文件,而第一种方式就一个文件。
网上太多的文章说把多个小文件合并成一个大文件,当然这里的“小”是指小于block大小(128MB),这句话很好理解。
但是当每个文件都正好是block大小时,还有必要合并吗?或者说,没必要把一个超大的文件分割成多个block大小的小文件? 还是有必要分割?
欢迎大家讨论下。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论