Hadoop文件存储格式

1. TextFile

默认格式,存储方式为行存储,数据不做压缩,磁盘开销大,数据解析开销大。可结合 Gzip、Bzip2 使用(系统自动检查,执行查询时自动解压),但使用 这种方式,压缩后的文件不支持 split,Hive 不会对数据进行切分,从而无法对数据进行并行操作。并且在反序列化过程中,必须逐个字符判断是不是分隔符和行结束符,因此反序列化开销会比 SequenceFile 高几十倍

2. SequenceFile

SequenceFile 是 Hadoop API 提供的一种二进制文件支持,存储方式为行存储,其具有使用方便、可分割、可压缩的特点。

SequenceFile 支持三种压缩选择:NONE,RECORD,BLOCK。Record 压缩率低,一般建议使用 BLOCK 压缩。

优势是文件和 hadoop api 中的 MapFile 是相互兼容的 。

3、RCFile

存储方式:数据按行分块,每块按列存储。结合了行存储和列存储的优点:

首先,RCFile 保证同一行的数据位于同一节点,因此元组重构的开销很低 ;

其次,像列存储一样,RCFile 能够利用列维度的数据压缩,并且能跳过不必要的列读取;

4、ORCFile(下文详细阐述)

存储方式:数据按行分块 每块按照列存储。

压缩快、快速列存取。

效率比 RCfile 高,是 RCfile 的改良版本。

5、Parquet

Parquet文件是以二进制方式存储的,所以是不可以直接读取的,文件中包括该文件的数据和元数据,因此Parquet格式文件是自解析的。

Apache Parquet 最初的设计动机是存储嵌套式数据,比如Protocolbuffer thrift json 等 将这类数据存储成列式格式以方便对其高效压缩和编码,且使用更少的IO操作取出需要的数据

总结:

相比 TEXTFILE 和 SEQUENCEFILE,RCFILE 由于列式存储方式,数据加载时性能消耗较大,但是具有较好的压缩比和查询响应。

数据仓库的特点是一次写入、多次读取,因此,整体来看,RCFILE 相比其余两种格式具有较明显的优势。

相关推荐
Surpass余sheng军21 分钟前
AI 时代下的网关技术选型
人工智能·经验分享·分布式·后端·学习·架构
桃花键神35 分钟前
openFuyao在AI推理与大数据场景中的加速方案:技术特性与实践探索
大数据·人工智能
天远数科3 小时前
前端全栈进阶:使用 Node.js Crypto 模块处理 AES 加密与天远API数据聚合
大数据·api
天远API3 小时前
后端进阶:使用 Go 处理天远API的 KV 数组结构与并发风控
大数据·api
千匠网络3 小时前
S2B供应链平台:优化资源配置,推动产业升级
大数据·人工智能·产品运营·供应链·s2b
WX-bisheyuange3 小时前
基于Spring Boot的智慧校园管理系统设计与实现
java·大数据·数据库·毕业设计
AI营销快线3 小时前
AI如何每日自动生成大量高质量营销素材?
大数据·人工智能
KKKlucifer4 小时前
从 “人工标注” 到 “AI 驱动”:数据分类分级技术的效率革命
大数据·人工智能·分类
天远云服4 小时前
Spring Boot 金融实战:如何清洗天远API的 KV 数组格式风控数据
大数据·api
哈哈哈笑什么4 小时前
企业级高并发分布式SpringCloud系统下,订单动态超时自动取消(最终成熟方案),使用spring-cloud-starter-stream-rabbit
分布式·spring cloud·rabbitmq