Advertisement

对ORC文件存储格式进行深入研究

阅读量:

一、ORC文件格式

ORC的全称为(Optimized Record Columnar),ORC file format的应用能够显著提升Hive读取、写入及处理数据的能力。相较于RCFile而言,在功能上具有明显优势:

  1. ORC专门针对不同数据类型的序列化与反序列化操作,并根据数据类型自动选择优化策略;
  2. 提供了RCFile中不具备的多种indexes功能,在读取所需数据时能够快速定位并跳过冗余数据;
  3. 由于ORC writer根据具体数据类型自适应地执行序列化操作,在处理复杂对象(如Map)时展现出更强的能力;
  4. 在具体实现上还具备一些额外优势:stripe设置得更大,并为ORC writer提供了一个内存管理机制以优化内存使用效率。

二、ORC数据存储方法

在 ORC 格式化的 hive 表中的每一行数据会先被横向切分形成多个 stripes ,随后每条 stripe 内的数据则按列进行组织并存于同一个 ORC 文件中。每个 stripe 的默认容量设定为 256 MB,在与 RCFile 中每个 stripe 容量为 4 MB 的对比下可以看出较大的 stripe 设计使得 ORC 数据读取效率得到显著提升

ORC文件对于复杂数据类型字段的处理会将其分解为多个子字段进行存储与解析

全部评论 (0)

还没有任何评论哟~