当前我正在使用Sequence File
来压缩我们现有的HDFS数据。HDFS(序列文件)中的单个大文件或多个小文件?
现在我有两个选择来存储这些Sequence File
作为
- 单个大容量文件,这意味着所有的记录到这个文件。
- 多的小文件,每个文件的大小完全一致的HDFS块大小(128MB)
我们知道,存储块的HDFS文件,每个文件块进入一个映射。所以我认为当对这个序列文件进行MR处理时没有什么不同。
我只知道选项二的一个缺点是namenode需要更多开销来维护这些文件,而只有一个文件用于选项一。
我comfusing关于这两个选项,因为我看到太多的文章建议
- 让你的HDFS文件的大小的块大小尽可能可以匹配。
- 尽可能将小文件合并为一个大文件。
任何人都可以指出正确的方法吗?哪个更好?这两种选择有什么优势/劣势?谢谢!
感谢您的回答。这取决于具体的要求。两者都是推荐的。 – Michael