千家信息网

Hadoop中的文件格式有哪些

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"Hadoop中的文件格式有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Hado
千家信息网最后更新 2026年11月02日Hadoop中的文件格式有哪些

本篇内容介绍了"Hadoop中的文件格式有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Hadoop文件格式初学者指南

几周前,我写了一篇有关Hadoop的文章,并谈到了它的不同部分。 以及它如何在数据工程中扮演重要角色。 在本文中,我将总结Hadoop中不同的文件格式。 本主题将是一个简短而快速的主题。 如果您想了解Hadoop的工作原理以及它在数据工程师中的重要作用,请在此处访问我关于Hadoop的文章,或乐于跳过。

Hadoop中的文件格式大致分为两类:面向行和面向列:

  • 面向行:在一起存储的同一行数据是连续存储:SequenceFile,MapFile,Avro Datafile。 这样,如果仅需要访问该行的少量数据,则需要将整个行读入存储器。 延迟序列化可以将问题减轻到一定程度,但是无法取消从磁盘读取整行数据的开销。 面向行的存储适用于需要同时处理整行数据的情况。

  • 面向列:整个文件分为几列数据,每列数据存储在一起:Parquet,RCFile,ORCFile。 面向列的格式可以在读取数据时跳过不需要的列,适用于字段中只有一小部分行的情况。 但是这种读取和写入格式需要更多的存储空间,因为高速缓存行需要位于内存中(以获取多行中的一列)。 同时,它不适合流式传输,因为一旦写入失败,就无法恢复当前文件,并且在写入失败时,面向行的数据可以重新同步到最后一个同步点,因此Flume使用 面向行的存储格式。


> Picture 1.(Left Side )Show the Logical Table and Picture 2. ( Right Side) Row-Oriented Layout(Sequ

> Picture 3. Column-oriented Layout (RC File)

如果仍不清楚行和列的方向,请不用担心,您可以访问此链接,了解它们之间的区别。

以下是在Hadoop系统上广泛使用的一些相关文件格式:

序列文件

存储格式取决于是否压缩以及使用记录压缩还是块压缩而有所不同:


> The Internal structure of a sequence file with no compression and with record compression.
  • 不压缩:根据记录长度,键长,值程度,键值和值值顺序存储。 范围是字节数。 使用指定的序列化执行序列化。

  • 记录压缩:仅压缩值,并将压缩的编解码器存储在标头中。

  • 块压缩:将多个记录压缩在一起,以利用记录之间的相似性并节省空间。 同步标记被添加在块之前和之后。 该属性的最小值为io.seqfile.compress.blocksizeset。


> The internal structure of a sequence file with block compression

地图文件

MapFile是SequenceFile的变体。 将索引添加到SequenceFile并对其进行排序后,它就是MapFile。 索引存储为单独的文件,通常每128条记录存储一个索引。 可以将索引加载到内存中以进行快速查找-存储按Key定义的顺序排列的数据的文件。 MapFile记录必须按顺序编写。 否则,将引发IOException。

MapFile的派生类型:

  • SetFile:一个特殊的MapFile,用于存储可写类型的键序列。 密钥是按顺序写入的。

  • ArrayFile:键是一个整数,表示数组中的位置,值是可写的。

  • BloomMapFile:使用动态Bloom过滤器针对MapFile get()方法进行了优化。 过滤器存储在内存中,并且仅当键值存在时,才会调用常规的get()方法来执行读取操作。

Hadoop系统下面列出的文件包括RCFile,ORCFile和Parquet。 Avro的面向列的版本是Trevni。

RC文件

Hive的Record Columnar File(记录列文件),这种类型的文件首先将数据按行划分为行组,然后在行组内部将数据存储在列中。 其结构如下:


> Data Layout of RC File in an HDFS block

与纯面向行和面向列的比较:


> Row-Store in an HDFS Block

> Column Group in HDFS Block

ORC文件

ORCFile(优化的记录列文件)提供了比RCFile更有效的文件格式。 它在内部将数据划分为默认大小为250M的Stripe。 每个条带均包含索引,数据和页脚。 索引存储每列的最大值和最小值以及列中每一行的位置。


> ORC File Layout

在Hive中,以下命令用于使用ORCFile:

CREATE TABLE ...STORED AAS ORC ALTER TABLE ... SET FILEFORMAT ORC SET hive.default.fileformat=ORC

Parquet

一种通用的基于列的存储格式,基于Google的Dremel。 特别擅长处理深度嵌套的数据。


> The internal Structure of Parquet File

对于嵌套结构,Parquet会将其转换为平面列存储,该存储由重复级别和定义级别(R和D)表示,并在读取数据以重建整个文件时使用元数据来重建记录。 结构体。 以下是R和D的示例:

AddressBook { contacts: { phoneNumber: "555 987 6543" } contacts: { } } AddressBook { }

"Hadoop中的文件格式有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

文件 存储 数据 格式 索引 序列 顺序 不同 内存 情况 文章 更多 类型 结构 同步 最小 重要 一行 主题 之间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 互联网新科技 湖北九亚互联网络科技有限公司 新华互联网科技 安徽鑫晟辉互联网科技 善班互联网科技有限公司 四川狮子座互联网科技 互联网科技大会案例 科技类的互联网平台 互联网科技创新企业排名 北京三清互联网科技 广州优美互联网科技 深圳国际航运科技和互联网 宁夏科技产业互联网案例 福建科技产业互联网发展 河南猎农互联网科技有限公司 小米互联网科技园入驻 黑云互联网科技有限公司 数字互联网科技有限公司 数字科技和互联网金融哪个好 湖北九亚互联网络科技有限公司 互联网金融 科技金融 互联网金融公司科技 互联网科技公司官网 成都仁贤领冠互联网科技有限公司 青岛中康互联网医疗科技有限公司 广州恒生互联网科技有限 赶超互联网科技 微信多开 乌苏新华互联网科技做什么的 科技美学互联网 艺术
0