ORC File文件结构

  ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度。和Parquet类似,它并不是一个单纯的列式存储格式,仍然是首先根据行组分割整个表,在每一个行组内进行按列存储。ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩以降低存储空间的消耗,目前也被Spark SQL、Presto等查询引擎支持,但是Impala对于ORC目前没有支持,仍然使用Parquet作为主要的列式存储格式。2015年ORC项目被Apache项目基金会提升为Apache顶级项目。ORC具有以下一些优势:

  1. ORC是列式存储,有多种文件压缩方式,并且有着很高的压缩比。
  2. 文件是可切分(Split)的。因此,在Hive中使用ORC作为表的文件存储格式,不仅节省HDFS存储资源,查询任务的输入数据量减少,使用的MapTask也就减少了。
  3. 提供了多种索引,row group index、bloom filter index。
  4. ORC可以支持复杂的数据结构(比如Map等)

列式存储  

  由于OLAP查询的特点,列式存储可以提升其查询性能,但是它是如何做到的呢?这就要从列式存储的原理说起,从图1中可以看到,相对于关系数据库中通常使用的行式存储,在使用列式存储时每一列的所有元素都是顺序存储的。由此特点可以给查询带来如下的优化:

  • 查询的时候不需要扫描全部的数据,而只需要读取每次查询涉及的列,这样可以将I/O消耗降低N倍,另外可以保存每一列的统计信息(min、max、sum等),实现部分的谓词下推。
  • 由于每一列的成员都是同构的,可以针对不同的数据类型使用更高效的数据压缩算法,进一步减小I/O。
  • 由于每一列的成员的同构性,可以使用更加适合CPU pipeline的编码方式,减小CPU的缓存失效。

ORC File文件结构相关推荐

  1. Hive存储格式之ORC File详解,什么是ORC File

    文章目录 概述 文件存储结构 Stripe Index Data Row Data Stripe Footer 两个补充名词 Row Group Stream File Footer 条纹信息 列统计 ...

  2. MapReduce基础开发之十读写ORC File

    1.ORC File Orc是Hive特有的一种列式存储的文件格式,它有着非常高的压缩比和读取效率,因此很快取代了之前的RCFile,成为Hive中非常常用的一种文件格式. 2.编译ORC Jar包 ...

  3. sqoop从orc文件到oracle,Sqoop import as OrC file

    问题 Is there any option in sqoop to import data from RDMS and store it as ORC file format in HDFS? Al ...

  4. hive报错整理之Malformed ORC file 、Invalid postscript.

    Caused by: java.io.IOException: Malformed ORC file 将本地文件的数据加载到hive的ORC格式表时,出现以下报错: Diagnostic Messag ...

  5. Presto读Hive报错: Malformed ORC file. Cannot read SQL type ‘tinyint‘ from ORC stream...

    向社区提了个Issue: Malformed ORC file. Cannot read SQL type 'boolean' from ORC stream '.illegal' of type I ...

  6. 【Hive】Hive查询报错 Malformed ORC file、Invalid postscript、serious problem

    报错1: [2020-09-01 20:27:48] hive:Failed with exception java.io.IOException:java.lang.RuntimeException ...

  7. 大数据:Hive - ORC 文件存储格式

    一.ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache ...

  8. Hive - ORC 文件存储格式详细解析

    一.ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache ...

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

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

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

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

最新文章

  1. 【云栖大会夺宝攻略】在线PK、打卡领奖、抢offer,开发者专属玩法在这里
  2. win10硬盘修复工具使用教程
  3. python爬虫源码项目_32个Python爬虫实战项目,满足你的项目慌(带源码)
  4. Java 导出 Excel 文件
  5. SAP License:CKMLCP运行物料帐时单个物料冲突无法运行
  6. linux下编辑文件实验,Linux上最常用的文本编辑器vi/vim使用教程
  7. mysql优化概述2
  8. 能力提升综合题单 Part 8.4 生成树Part 8.5 拓扑排序Part 8.6 差分约束
  9. 手机APP的常见功能测试用例
  10. 第十一届蓝桥杯大赛软件类省赛第二场 C/C++ 大学 B 组 附蓝桥杯官网网址
  11. WDM驱动inf模板
  12. python excel 饼图 简书_Matplotlib-绘制饼图
  13. Jim exclaimed, Damn man, this isn’t funny cheap air max 90
  14. GNU Make 使用手册!
  15. 多元线性回归分析spss结果解读_多元线性回归分析理论详解及SPSS结果分析
  16. 时序逻辑电路设计方法和步骤
  17. MATLAB feof和~feof函数用法
  18. 聚集索引和非聚集索引的区别?
  19. 数字电路与C语言基础
  20. java con_java安全学习-Code-Breaking Puzzles-javacon详细分析

热门文章

  1. oracle数据库使用odbc导出到access失败
  2. 零跑C-more收获更多期待,而零跑S01还在追求更多的订单 | 2019 上海车展...
  3. cvc-complex-type.2.3: Element 'beans' cannot have character [children] 博客分类: Spring
  4. ios 8 适配须知
  5. php laravel 相关收集
  6. 复制当前地址到系统剪贴板
  7. Spring Boot入门(1)-第一个Spring Boot应用
  8. java中ImageIcon路径问题
  9. String的replaceAll方法中的正则表达式用法
  10. 温故知新----css布局