我还有一个非常基本的概念级问题,HDFS和各种文件格式之间的区别和关系是什么 - 序列文件(基于它的地图文件),HAR文件?
我认为答案是,HDFS是基础文件系统,我们可以将原始二进制文件上传到HDFS(不使用序列文件,HAR文件等),我们也可以使用一些特殊设计的文件格式来编写基于HDFS的文件 - 如序列文件(基于它的映射文件)格式,HAR文件格式。这是正确的理解吗?答案 0 :(得分:4)
HDFS 是一个文件系统,不依赖于任何特定的文件格式。它是一个分布式文件系统,并提取有关文件如何实际持久保存在磁盘上的大部分内部细节(就像NFS / FAT一样)。它为我们提供了文件和目录结构的连续视图,但在内部实际上,文件被复制并存储在群集中各个节点的块中。
像序列文件这样的文件格式特别适合于地图缩减编程范例,因为它可以轻松地跨数据节点分割,从而实现并行处理。但是,HDFS没有这样的偏好,它可以将任何文件格式划分为块(即二进制/纯文本)并存储它。