HDFS Sequence File 存一个大文件,还是存多个小文件?

发布于 2022-09-04 15:16:18 字数 452 浏览 17 评论 0

目前正在使用Sequence File对已有数据进行(BLOCK)压缩。

有两种存储方式

  • 一个大文件,所有记录都保存在这个文件里面

  • 多个小文件,文件大小正好和HDFS block大小一致(128MB)

数据split决定mapper数量,而split默认是block大小,所以当进行MR计算的时候,以上两种方式没有什么区别。

目前我知道第二种方式的缺点就是namenode需要维护更多的文件,而第一种方式就一个文件。

网上太多的文章说把多个小文件合并成一个大文件,当然这里的“小”是指小于block大小(128MB),这句话很好理解。
但是当每个文件都正好是block大小时,还有必要合并吗?或者说,没必要把一个超大的文件分割成多个block大小的小文件? 还是有必要分割?

欢迎大家讨论下。谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文