在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Sequence File格式是什么?如何使用?Hadoop可以存储多种文件格式。sequenceFile文件是Hadoop用来存储二进制形式的[Key,Value]对而设计的一种平面文件Flat File。可以把SequenceFile当做是一个容器,把所有的文件打包到SequenceFile类中可以高效的对小文件进行存储和处理。
SequenceFile文件并不按照其存储的Key进行排序存储,SequenceFile的内部类Writer提供了append功能。SequenceFile中的Key和Value可以是任意类型Writable或者是自定义Writable。
在存储结构上,SequenceFile主要由一个Header后跟多条Record组成,Header主要包含了Key classname,value classname,存储压缩算法,用户自定义元数据等信息,此外,还包含了一些同步标识,用于快速定位到记录的边界。
每条Record以键值对的方式进行存储,用来表示它的字符数组可以一次解析成:记录的长度、Key的长度、Key值和value值,并且Value值的结构取决于该记录是否被压缩。
HDFS文件存储格式介绍:
1、TEXTFILE
Hive数据表的默认格式,存储方式:行存储。可以使用Gzip压缩算法,但压缩后的文件不支持split。在反序列化过程中,必须逐个字符判断是不是分隔符和行结束符,因此反序列化开销会比SequenceFile高几十倍。
2、SEQUENCEFILE
压缩数据文件可以节省磁盘空间,但Hadoop中有些原生压缩文件的缺点之一就是不支持分割。支持分割的文件可以并行的有多个mapper程序处理大数据文件,大多数文件不支持可分割是因为这些文件只能从头开始读。Sequence File是可分割的文件格式,支持Hadoop的block级压缩。
Hadoop API提供的一种二进制文件,以key-value的形式序列化到文件中。存储方式:行存储。sequencefile支持三种压缩选择:NONE,RECORD,BLOCK。Record压缩率低,RECORD是默认选项,通常BLOCK会带来较RECORD更好的压缩性能。优势是文件和hadoop api中的MapFile是相互兼容的。
3、RCFILE
存储方式:数据按行分块,每块按列存储。结合了行存储和列存储的优点,RCFile 保证同一行的数据位于同一节点,因此元组重构的开销很低,像列存储一样,RCFile 能够利用列维度的数据压缩,并且能跳过不必要的列读取。
数据追加:RCFile不支持任意方式的数据写操作,仅提供一种追加接口,这是因为底层的 HDFS当前仅仅支持数据追加写文件尾部。
行组大小:行组变大有助于提高数据压缩的效率,但是可能会损害数据的读取性能,因为这样增加了 Lazy 解压性能的消耗。而且行组变大会占用更多的内存,这会影响并发执行的其他MR作业。考虑到存储空间和查询效率两个方面,Facebook 选择 4MB 作为默认的行组大小,当然也允许用户自行选择参数进行配置。
4、ORCFILE
存储方式:数据按行分块,每块按照列存储。压缩快,快速列存取。效率比rcfile高,是rcfile的改良版本。
结合项目中使用SequenceFile压缩率最低,查询速度一般。项目中存储小的二进制文件,用Sequence File这个格式。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
影响大数据与分析的因素有哪些?
数据分析在数据库内进行索引和分析,并且企业拥有确保数据可以移至正确位置的工具。借助现代商业智能技术使答案更接近于业务用户。寻找、清查和综合分布广泛且多样化的数据资产。算法将有助于分析系统对数据进行指纹识别、发现异常和洞察,并提出应与之一起分析的新数据。
7175
2020-02-14 16:32:23
Flink从入门到实践课程介绍
Flink是解放程序员的一款开源大数据计算引擎,本文将为大家介绍Flink从入门到实践的课程详情,主要包括课程的学习内容、亮点特色和学习收获,对Flink感兴趣或者有学习需要的小伙伴可以看一看。
3914
2020-04-21 18:22:10
企业大数据竞争优势有哪些?
企业大数据竞争优势:企业利用大数据可以进行目标客户细分、提高效率降低成本、筛选优秀人才、制定有效策略。在大数据时代,使用数据分析的手段很关键,通过数据分析才能带来价值。
5458
2020-04-28 16:44:45
Kafka的优势有哪些?经常应用在哪些场景?
Kafka的优势有哪些?经常应用在哪些场景?Kafka的优势比较多如多生产者无缝地支持多个生产者、多消费者、基于磁盘的数据存储、具有伸缩性、高性能轻松处理巨大的消息流。多用于开发消息系统,网站活动追踪、日志聚合、流处理等方面。今天我们一起来学习一下吧!
2893
2022-03-22 15:11:36
狂野大数据课程好学吗?难不难?
这门课程对标企业5年真实⼤数据从业⼈员的技能⽔平,因此学习这门课程需要有一定的基础,假设课程内容100%吸收⾜以对标甚⾄秒杀企业中5年⼤数据经验的开发⼈员。学成后知识储备完全胜任⾼级⼤数据开发职称。
2277
2022-09-29 16:42:05