ORC 和 Parquet比较入门
ORC 和 Parquet 都是 Hadoop 生态系统中流行的开源列文件存储格式,在效率和速度方面非常相似,最重要的是,它们旨在加快大数据分析工作负载。使用 ORC 文件与处理 Parquet 文件一样简单,因为它们提供了高效的读写功能,比基于行的对应文件更高效。两者都有其优缺点,很难找出哪一个比另一个更好。让我们更好地看看它们。我们先从 ORC 开始,然后转到 Parquet。
ORC
ORC (Optimized Row Columnar)
,是专为 Hadoop 工作负载设计的免费开源列存储格式。正如名称所暗示的,ORC 是一种自我描述的优化文件格式,它将数据存储到列中,使用户能够只读取和解压缩所需的片段。它是传统记录列文件 (RCFile) 格式的继承者,旨在克服其他 Hive 文件格式的限制。访问数据的时间大大缩短,数据大小也减小到 75%。ORC 提供了一种更高效、更好的方法来存储数据,以通过使用 Tez 的 SQL on-Hadoop 解决方案(如 Hive)进行访问。
ORC 与其他 Hive 文件格式相比具有许多优势,例如高数据压缩、更快的性能、预测性向下推的功能,以及更多,存储的数据被组织成条带,从而实现从 HDFS 进行大量、高效的读取。
Parquet
Parquet
是 Cloudera 与 Twitter 合作支持的 Hadoop 生态系统中另一种面向开源列的文件格式。Parquet 在大数据从业者中非常受欢迎,因为它提供了大量的存储优化,尤其是在分析工作负载中。与 ORC 一样,Parquet 还提供列压缩,可节省大量存储空间,同时允许您读取单个列,而不是读取完整的文件。
与传统存储解决方案相比,它在性能和存储要求方面提供了显著优势。它更高效地执行数据 IO 样式操作,并且在支持复杂的嵌套数据结构方面非常灵活。事实上,它特别设计,牢记嵌套数据结构。
Parquet
也是一种更好的文件格式,用于降低存储成本,并加快大量数据集的读取步骤。Parquet与Spark配合得很好。事实上,它是用于在 Spark 中写入和读取数据的默认文件格式。
ORC 和Parquet的区别
起源
• ORC 的灵感来自 Facebook 开发的row columnar format
,该格式支持列读取、预测下拉和惰性读取。它是传统记录列文件 (RCFile) 格式的继承者,提供比 RCFile 更高效地存储关系数据的方法,将数据大小减小高达 75%。
Parquet
的灵感来自谷歌Dremel论文
中概述的嵌套数据存储格式
,该格式由 Cloudera 与 Twitter 合作开发。
支持
• ORC 和 Parquet 都是流行的面向列的大数据文件格式,它们共享的设计几乎相似,因为两者都在列中共享数据。Parquet 对 Hadoop 生态系统中的大多数项目拥有更广泛的支持,但 ORC
仅支持 Hive
和 Pig
。两者之间的一个关键区别是,ORC
更好地优化了Hive
,而Parquet与Spark配合的更好。事实上,Parquet 是用于在 Apache Spark 中写入和读取数据的默认文件格式。
索引
• 使用 ORC 文件就像处理 Parquet 文件一样简单。两者都非常适合读取量大的工作负载。但是,ORC 文件被组织成数据条
,数据条是数据的基本构建基块,彼此独立。每个条带都有索引、行数据和页脚。页脚是缓存条带内每列(如计数、最小值、最大值和总数)的关键统计信息的地方。
Parquet
将数据存储在页面中,每个页面都包含标头信息、有关定义级别和重复级别的信息以及实际数据。
总结
- ORC 和 Parquet 都是 Hadoop 生态系统中最流行的两种面向列的文件存储格式,旨在很好地处理数据分析工作负载。
- Parquet 由 Cloudera 和 Twitter 共同开发,用于存储具有高列的大型数据集的问题。
- ORC 是传统 RCFile 规范的后续产品,存储在 ORC 文件格式中的数据被组织成条带,这些条带高度优化了 HDFS 读取操作。
- 如果您在 Hadoop 生态系统中使用多种工具,则 Parquet 在适应性方面是一个更好的选择。
- Parquet更好地优化了与Spark的使用,而 ORC 则针对Hive进行了优化。但在大多数情况下,两者非常相似,两者之间没有显著差异。
参考
Difference Between ORC and Parquet Difference Between | Difference Between
ORC 和 Parquet比较入门相关推荐
- hdfs orc格式_HIVE存储格式ORC、PARQUET对比
hive有三种默认的存储格式,TEXT.ORC.PARQUET.TEXT是默认的格式,ORC.PARQUET是列存储格式,占用空间和查询效率是不同的,专门测试过后记录一下. 一:建表语句差别 crea ...
- ORC与Parquet压缩分析
ORC与Parquet压缩分析 @date:2023年6月14日 文章目录 ORC与Parquet压缩分析 环境 数据schema 数据实验 压缩结果 查询分析 文件使用建议 附录 编译hadoop- ...
- orc parquet区别 spark_HIVE存储格式ORC、PARQUET对比
一:建表语句差别 create table if not exists text( a bigint ) partitioned by (dt string) row format delimited ...
- text、RC、Parquet、ORC
数据格式:text.RC.Parquet.ORC 相同大小的原始数据集,转换成相应的格式之后的文件大小:Text > RC > Parquet > ORC Text/CSV csv文 ...
- 两种列式存储格式:Parquet和ORC
背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌 ...
- linux怎么看文件是否orc格式,hive文件存储格式orc,parquet,avro对比
orc文件存储格式 ORC文件也是以二进制方式列式存储的,所以是不可以直接读取,ORC文件也是自解析的,它包含许多的元数据,这些元数据都是同构ProtoBuffer进行序列化的.文件结构如下 ORC文 ...
- RC ORC Parquet之大数据文件存储格式的一哥之争
背 景 大数据如火如荼的发展中,以hadoop集群为基础的数据存储和计算框架也日新月异的精进,而如何减少存储空间又提升计算效率,一直是大数据集群老生常谈的问题,今天就一起聊聊最基本的大数据文件存储 ...
- parquet和orc 一次说清了
背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌 ...
- Hive从入门到放弃——HiveQL表级别DDL设计的艺术性(五)
HiveQL数据库中的表DDL操作 博客Hive从入门到放弃--HiveQL数据库级别DDL设计的艺术性(四)聊完了数据库的基本操作,我们再来聊聊Hive内表的操作. 创建表 官方推荐建表的结 ...
最新文章
- swscanf_s和sscanf_s的使用
- 政府门户网站建设解决方案
- leetcode111 爬楼梯 python实现
- android图片选择器框架支持长图,基于RxJava的Android图片选择器. – RxPicker
- 计算机算法音乐专业,音乐信号分析算法的乐理简说(非音乐专业的乐理)
- [转贴]关于项目管理的一点体会
- 二分图 洛谷P2055 [ZJOI2009]假期的宿舍
- ADO.NET的主要对象
- 少年,别再收藏文章了!
- 【GPU结构与CUDA系列2】GPU硬件结构及架构分析:流多处理器SM,流处理器SP,示例架构分析
- QQ拼音输入法词库和搜狗输入法词库[相互导入](使用Excel公式)
- 我的淘宝花名“九霄”
- 使用Set集合对List集合进行去重
- 2019-11软考报名网站汇总,陆续更新
- 视频原声可以一键快速消除并更换新的吗
- 郭敬明唯美悲伤的短句分享
- Win flex-bison 的简单使用
- Max GCD(暴力)
- 久坐提醒 android,真时运动app安卓版
- Jetson nano 摄像头二维码识别 Opencv zbar QT
热门文章
- 使用Redis构建简单的社交网站
- ubuntu-多网卡聚合-bond技术教程
- WordPress——SMTP Error: Could not authenticate.
- 输入上标的html标签是,HTML上标sup与下标注sub标签元素
- tar 整个linux系统,linux下tar解压
- python文件hadoop_采用Python来访问Hadoop HSFS存储实现文件的操作
- ubuntu 升级python_如何将 Ubuntu 16 和 18 上的 python 升级到最新 3.8 版
- jsp mysql论坛_体育论坛ssm,mysql)
- declare sql语句_SQL高级知识——动态SQL
- python sorted下标_初学者掌握python 列表需要知道的操作