目前,我正在使用Sequence File
压缩现有的HDFS数据。
现在我有两个选项可以将此Sequence File
存储为
众所周知,HDFS文件存储为块,每个块都转到一个映射器。所以我认为当MR处理该序列文件时没有什么不同。
我知道第二个选项的唯一缺点是namenode需要更多的开销来维护这些文件,而第一个选项只有一个文件。
我对这两个选项很满意,因为我看到太多文章建议
有人能指出我这样做的正确方法吗?哪个更好?这两个选项的优点/缺点是什么?谢谢!
答案 0 :(得分:3)
Quora.com有一个问题(对于旧版本,因为128MB现在是默认的块大小)为什么选择64MB作为默认块大小,虽然问题相对不同但是Ted Dunning的答案也回答了你的问题。 Ted Dunning写道:
Hadoop选择64MB的原因是因为谷歌选择了64MB。谷歌选择64MB的原因是由于Goldilocks的论点。
所以我认为第2点& 3有你的答案,现在你必须根据你的要求决定将文件存储为一个单独的大文件,或者以128MB的较小块存储(如果你愿意,你可以增加块大小)。