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 仅支持 HivePig。两者之间的一个关键区别是,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比较入门相关推荐

  1. hdfs orc格式_HIVE存储格式ORC、PARQUET对比

    hive有三种默认的存储格式,TEXT.ORC.PARQUET.TEXT是默认的格式,ORC.PARQUET是列存储格式,占用空间和查询效率是不同的,专门测试过后记录一下. 一:建表语句差别 crea ...

  2. ORC与Parquet压缩分析

    ORC与Parquet压缩分析 @date:2023年6月14日 文章目录 ORC与Parquet压缩分析 环境 数据schema 数据实验 压缩结果 查询分析 文件使用建议 附录 编译hadoop- ...

  3. orc parquet区别 spark_HIVE存储格式ORC、PARQUET对比

    一:建表语句差别 create table if not exists text( a bigint ) partitioned by (dt string) row format delimited ...

  4. text、RC、Parquet、ORC

    数据格式:text.RC.Parquet.ORC 相同大小的原始数据集,转换成相应的格式之后的文件大小:Text > RC > Parquet > ORC Text/CSV csv文 ...

  5. 两种列式存储格式:Parquet和ORC

    背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌 ...

  6. linux怎么看文件是否orc格式,hive文件存储格式orc,parquet,avro对比

    orc文件存储格式 ORC文件也是以二进制方式列式存储的,所以是不可以直接读取,ORC文件也是自解析的,它包含许多的元数据,这些元数据都是同构ProtoBuffer进行序列化的.文件结构如下 ORC文 ...

  7. RC ORC Parquet之大数据文件存储格式的一哥之争

    背 景   大数据如火如荼的发展中,以hadoop集群为基础的数据存储和计算框架也日新月异的精进,而如何减少存储空间又提升计算效率,一直是大数据集群老生常谈的问题,今天就一起聊聊最基本的大数据文件存储 ...

  8. parquet和orc 一次说清了

    背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌 ...

  9. Hive从入门到放弃——HiveQL表级别DDL设计的艺术性(五)

    HiveQL数据库中的表DDL操作   博客Hive从入门到放弃--HiveQL数据库级别DDL设计的艺术性(四)聊完了数据库的基本操作,我们再来聊聊Hive内表的操作. 创建表   官方推荐建表的结 ...

最新文章

  1. swscanf_s和sscanf_s的使用
  2. 政府门户网站建设解决方案
  3. leetcode111 爬楼梯 python实现
  4. android图片选择器框架支持长图,基于RxJava的Android图片选择器. – RxPicker
  5. 计算机算法音乐专业,音乐信号分析算法的乐理简说(非音乐专业的乐理)
  6. [转贴]关于项目管理的一点体会
  7. 二分图 洛谷P2055 [ZJOI2009]假期的宿舍
  8. ADO.NET的主要对象
  9. 少年,别再收藏文章了!
  10. 【GPU结构与CUDA系列2】GPU硬件结构及架构分析:流多处理器SM,流处理器SP,示例架构分析
  11. QQ拼音输入法词库和搜狗输入法词库[相互导入](使用Excel公式)
  12. 我的淘宝花名“九霄”
  13. 使用Set集合对List集合进行去重
  14. 2019-11软考报名网站汇总,陆续更新
  15. 视频原声可以一键快速消除并更换新的吗
  16. 郭敬明唯美悲伤的短句分享
  17. Win flex-bison 的简单使用
  18. Max GCD(暴力)
  19. 久坐提醒 android,真时运动app安卓版
  20. Jetson nano 摄像头二维码识别 Opencv zbar QT

热门文章

  1. 使用Redis构建简单的社交网站
  2. ubuntu-多网卡聚合-bond技术教程
  3. WordPress——SMTP Error: Could not authenticate.
  4. 输入上标的html标签是,HTML上标sup与下标注sub标签元素
  5. tar 整个linux系统,linux下tar解压
  6. python文件hadoop_采用Python来访问Hadoop HSFS存储实现文件的操作
  7. ubuntu 升级python_如何将 Ubuntu 16 和 18 上的 python 升级到最新 3.8 版
  8. jsp mysql论坛_体育论坛ssm,mysql)
  9. declare sql语句_SQL高级知识——动态SQL
  10. python sorted下标_初学者掌握python 列表需要知道的操作