定期分享源码,总结相关知识点,哈哈哈,来关注啊
概括
Hadoop 的 HDFS 和 MapReduce 子框架主要是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源(每一个小文件占用一个 Block,每一个 block 的元数据都存储在 namenode 的内存里)。解决办法通常是选择一个容器,将这些小文件组织起来统一存储。HDFS 提供了两种类型的容器,分别是 SequenceFile 和 MapFile。
关于SequenceFile
概述
SequenceFile 是 Hadoop 的一个重要数据文件类型,它提供key-value的存储,但与传统key-value存储(比如hash表)不同的是,它是appendonly的,于是你不能对已存在的key进行写操作。
解决问题
该文件格式通常被用来解决hadoop中的小文件问题,相当于一个容器,把这些小文件组织起来统一存储。
压缩格式
SeqeunceFile支持两种格式的数据压缩,分别是:record compression 和 block compression。
存储结构
在存储结构上,SequenceFile 主要由一个 Header 后跟多条 Re

本文介绍了Hadoop中SequenceFile和MapFile的特性,它们用于解决小文件问题,提供key-value存储。SequenceFile是append-only的,支持记录和块压缩,而MapFile是排序后的SequenceFile,检索效率高。两者都不支持文件复写,且在write流未关闭时不可读。同时,对比了SequenceFile生成的RDD与TextFile生成的RDD的区别。

最低0.47元/天 解锁文章
2772

被折叠的 条评论
为什么被折叠?



