大数据处理文件格式之ORC和Parquet选择
1. 背景
- 在大数据处理中,因为无法按照传统方式将海量数据存放到mysql中。所以各个框架都想办法将这些数据很好存放起来,既能保证数据安全,有可以确保数据查询地性能。
- 按照上述思路,出现了很多技术框架。
- 如HDFS,将文件以文件块形式切分,并且存放到集群中。有专门地节点负责这些文件地元数据管理(namenode, secondary namenode地checkpoint 机制)。这样可以保证数据安全性,也可以保证一定地文件访问便捷性。
- 在HDFS之上,出现了HBase,这是列式文件存储,很好实现了稀疏数据存储功能,降低数据存储压力。并且可以对存储地文件建立索引,提升查询性能。本质就是一个key value数据存储框架。
- 之后出现的hive,将结构化文件结合元数据,可以进行数据查询,分析处理。虽然本质上数据还是存放在hdfs上。
- click house等等
- 上述地框架,最终都会回到一个地点,如何安全有效保存数据到磁盘,毕竟数据放在内存中还是害怕断电地。
- 这时候,就需要用到文件格式了,不同文件格式,压缩比,查询效率,通用性(框架支持是否广泛),是否免费等就非常重要了。
2. 原因
- 目前,ORC,parquet,text主要这三种常见地文件格式,orc在hive下,压缩比,查询效率等都比parquet高,但是parquet的框架支持更广泛。
parquet本身带索引,列式存储,可以压缩,免费
- text格式,则是最基础格式,压缩性不好,查询也需要逐行读取,但有一个好处,可以直接阅读。所以开发时测试经常使用。

本文探讨大数据处理中的文件格式选择,重点对比ORC和Parquet。ORC在Hive下表现出较高的压缩比和查询效率,而Parquet因其广泛的框架支持成为更通用的选择。尽管ORC性能占优,但由于Parquet的列式存储、自带索引和压缩特性,加上良好的跨框架兼容性,使其在大数据开发中被普遍采用。文件格式的选择类似硬件接口的演进,通用性是关键因素。
最低0.47元/天 解锁文章
1158

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



