在Hadoop中使用SequenceFile而不是文本文件的原因

时间:2015-01-23 08:38:08

标签: hadoop

使用SequenceFile而不是文本文件的原因是什么?

我猜他们是好的,因为输入/输出是序列化,而不是解析对象,如果该对象需要多次使用。

另外,我读到它执行文件的压缩,因此它占用的空间更少,并且将许多小文件聚合成一个大文件是好的。

这些论点是否有效?还有什么?

1 个答案:

答案 0 :(得分:2)

  • 二进制数据(如在SequenceFiles中)通常比文本数据(TextFiles)更紧凑,即使没有显式压缩也是如此。因此,需要从硬盘读取/写入更少的数据。节省的空间取决于所写的数据。
  • 读取二进制数据比String解析更有效。

然而,

  • SequenceFiles无法读取人类和
  • 绑定到特定的对象类型/类,而文本数据可以根据需要以不同的方式解释。