`
san_yun
  • 浏览: 2637998 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

hadoop深入学习之SequenceFile

 
阅读更多

1.Hadoop’s SequenceFile

SequenceFile 是 Hadoop 的一个重要数据文件类型,它提供key-value的存储,但与传统key-value存储(比如hash表,btree)不同的是,它是 appendonly的,于是你不能对已存在的key进行写操作。每一个key-value记录如下图,不仅保存了key,value值,也保存了他们的 长度。

 

SequenceFile 有三种压缩态:

 

Uncompressed – 未进行压缩的状态

Record Compressed - 对每一条记录的value值进行了压缩(文件头中包含上使用哪种压缩算法的信息)

Block-Compressed – 当数据量达到一定大小后,将停止写入进行整体压缩,整体压缩的方法是把所有的keylength,key,vlength,value 分别合在一起进行整体压缩

 

文件的压缩态标识在文件开头的header数据中。在header数据之后是一个Metadata数据,他是简单的属性/值对,标识文件的一些其他信息。

Metadata 在文件创建时就写好了,所以也是不能更改的。

 

2.MapFile, SetFile, ArrayFile 及 BloomMapFile

 

SequenceFile 是Hadoop 的一个基础数据文件格式,后续讲的 MapFile, SetFile, ArrayFile 及 BloomMapFile 都是基于它来实现的。

 

MapFile – 一个key-value 对应的查找数据结构,由数据文件/data 和索引文件 /index 组成,数据文件中包含所有需要存储的key-value对,按key的顺序排列。索引文件包含一部分key值,用以指向数据文件的关键位置。

SetFile – 基于 MapFile 实现的,他只有key,value为不可变的数据。

ArrayFile – 也是基于 MapFile 实现,他就像我们使用的数组一样,key值为序列化的数字。

BloomMapFile – 他在 MapFile 的基础上增加了一个 /bloom 文件,包含的是二进制的过滤表,在每一次写操作完成时,会更新这个过滤表。

分享到:
评论

相关推荐

    sequencefile&mapfile代码

    在Hadoop生态系统中,SequenceFile和MapFile是两种常见的数据存储格式,它们为大数据处理提供了高效、可扩展的解决方案。这两个文件格式都是Hadoop原生支持的,用于存储大规模数据集,尤其适用于分布式环境。接下来...

    Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理

    《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》这本书是IT领域的经典之作,...通过深入学习这两部分内容,不仅可以提升大数据处理的效率,还能有效地解决可能出现的问题,确保数据的安全和稳定。

    hadoop Hive学习配套数据

    Hadoop Hive学习配套数据是大数据领域中非常关键的一部分,它主要服务于那些想要深入理解Hive在Hadoop生态系统中如何操作和分析大规模数据的学者和从业者。Hive是Apache软件基金会开发的一个数据仓库工具,它允许...

    hadoop学习资料地址

    对于希望深入了解Hadoop的技术人员来说,获取高质量的学习资源至关重要。本文将详细介绍一系列Hadoop学习资料及其来源,帮助读者更好地理解和掌握Hadoop的核心概念与技术。 #### 二、官方资源 1. **Hadoop官方网站...

    hadoop-core-0.20.2 源码 hadoop-2.5.1-src.tar.gz 源码 hadoop 源码

    4. **数据存储与序列化**:Hadoop使用`org.apache.hadoop.io`包处理数据的存储和序列化,包括各种基本类型(如IntWritable、Text等)和复杂的可序列化对象(如SequenceFile、Avro等)。 5. **配置管理**:`org....

    hadoop权威指南 中文版 英文版Hadoop: The Definitive Guide 带书签,无密码

    《Hadoop权威指南》是大数据领域的一本经典...总的来说,《Hadoop权威指南》是一本全面而深入的Hadoop学习资料,无论你是想要入门前沿的大数据技术,还是希望提升现有的Hadoop技能,这本书都将是你不可或缺的参考书目。

    Hadoop权威指南(原版)

    这本书不仅适合初学者了解Hadoop的基本概念和架构,也适合有经验的开发者深入学习Hadoop的高级特性。以下是该书可能涵盖的一些核心知识点: 1. **Hadoop简介**:Hadoop是一个基于Java的分布式计算框架,由Apache...

    hadoop权威指南 ncdc2015年数据

    (2) 使用Hadoop的SequenceFile、Avro或Parquet等格式,这些格式能更高效地处理小文件;(3) 使用HBase等NoSQL数据库进行数据存储,它们更适用于大量小键值对。 5. **NCDC数据应用**:NCDC的气候数据可以用于多种分析...

    hadoop电子书

    《Hadoop权威指南》第三版是关于大数据处理和分布式计算的经典之作,专为对Hadoop感兴趣的读者提供深入理解和实践操作的指导。这本书详尽地介绍了Hadoop生态系统的核心组件及其工作原理,帮助读者掌握如何在大规模...

    hadoop 归档源代码

    Hadoop是Apache软件基金...总的来说,"Hadoop 归档源代码"涵盖了Hadoop如何管理和优化大量小文件的关键技术,通过深入学习这部分源代码,我们可以更全面地理解Hadoop的架构,提升在大数据环境下的系统设计和优化能力。

    广东工业大学Hadoop高级应用实验报告

    总结,这份广东工业大学的Hadoop高级应用实验报告涵盖了Hadoop生态系统的关键组件和高级应用技巧,对于学习和理解大数据处理具有重要意义。通过实验,学生不仅能掌握Hadoop的基本操作,还能深入了解大数据处理的复杂...

    Hadoop集群程序设计与开发教学大纲.docx

    5. **Hadoop的I/O操作**:包括压缩技术和序列化类型,特别是Writable接口的应用,以及SequenceFile的使用。 6. **MapReduce编程基础**:深入剖析MapReduce的工作流程,通过WordCount案例理解编程方法,讲解Mapper...

    Hadoop: The Definitive Guide 中英两版

    这本书由Tom White撰写,全面深入地介绍了Hadoop的各个组件及其工作原理,对于初学者和专业人士来说都是一份宝贵的参考资料。 Hadoop是分布式计算领域的开源框架,主要用于处理和存储大量数据。它的核心包括两个...

    hadoop the definitive guide 3nd edition

    Hadoop I/O是Hadoop处理数据的核心,包括数据压缩、序列化框架、自定义Writable实现以及基于文件的数据结构如SequenceFile和MapFile。数据压缩可以减少存储空间和网络传输的数据量,提高Hadoop处理数据的效率。序列...

    HADOOP权威指南 第3版 PDF电子书下载 带目录书签 完整版

    《HADOOP权威指南》第三版是一本专为学习大数据技术的人士编写的经典教材,尤其针对Hadoop 2.0及其后续版本进行了深入解析。这本书涵盖了Hadoop生态系统中的核心组件,包括分布式文件系统HDFS、分布式协调服务...

    深入学习hbase原理资料整理

    《深入学习HBase原理》 HBase,全称为Hadoop Database,是一款高度可扩展的、高性能的、面向列的分布式数据库。它源自Google的Bigtable论文,并在其基础上为Hadoop生态系统提供了一种强大的非结构化数据存储解决...

    Hadoop权威指南第三版

    ### Hadoop权威指南第三版知识点概述 #### 一、Hadoop简介与背景 - **Hadoop的历史**: 本书首先介绍了Hadoop的起源...无论是想要学习Hadoop基础知识还是希望深入了解其内部机制的专业人士,都能从这本书中获益匪浅。

    Hadoop权威指南(第三版)

    ### Hadoop权威指南(第三版) #### Hadoop简介 Hadoop是一种开源软件框架,用于分布式存储...它不仅深入浅出地讲解了Hadoop的基础概念和技术细节,还提供了大量实用的案例分析,是学习和掌握Hadoop不可或缺的资源。

Global site tag (gtag.js) - Google Analytics