Hadoop - 权威指南说
如果要记录二进制类型,则纯文本格式不合适。
我的问题是1.为什么不呢? 2.什么是二进制类型?
并进一步:
Hadoop的SequenceFileclass适合这种情况,提供 二进制键值对的持久数据结构。用它作为一个 在日志文件格式中,您可以选择一个密钥,例如表示的时间戳 通过LongWritable,值是一个表示的Writable 记录的数量。
为什么不能使用文本文件并且需要序列文件?
答案 0 :(得分:0)
在同一页面上,引用了:
对于某些应用程序,您需要一个专门的数据结构来保存您的数据。为了做 基于MapReduce的处理,将每个blob二进制数据放入其自己的文件中 因此,Hadoop为这些情况开发了许多更高级别的容器。
e.g。假设您正在Facebook上传图像,您必须删除重复的图像。您无法以textformat格式存储图像。您可以做什么:获取图像文件的MD5SUM,如果系统中已存在MD5SUM,则只丢弃重复图像的插入。在您的文字文件中,您只需“日期:”和“上传的图片数量”即可。图像可以存储在HDFS系统的外部,如CDN网络或其他一些Web服务器