ORC Files
ORC 全称是Optimized Row Columnar,意思是优化的RC file,优化行列式。
ORC 文件格式提供了一个很高效的方式来存储hive数据。它旨在克服其他hive文件格式的限制。当hive读取、写入和处理数据时,使用ORC文件可以提高性能。
和RCFile格式相比,ORC文件格式有很多优点,例如:
①每个任务的输出都是一个单独的文件,这减少了NameNode的负载
②hive类型支持datetime、decimal和复杂类型(struct、list、map和union)
③轻量级的索引,跳过不传递predicate filtering的行组
④基于数据类型的块模式压缩,integer列是run-length 编码,string列是dictionary 编码
⑤使用单独的RecordReaders 并发读取同一文件
⑥限制了读写所需的内存大小
⑦使用Protocol Buffers存储元数据,允许添加和删除字段
文件结构
ORC 文件包含被称为stripes 的行数据组,以及文件页脚中的辅助信息。在文件的末尾,一个postscript 保存压缩参数和压缩页脚的大小。stripe 大小默认为250MB。大的stripe 可以实现从hdfs 的高效读取。文件页脚包含文件的stripes 列表,每一个stripe 的行数以及各列的数据类型。它还包含列级的聚合,count、min、max h和sum。
ORC Files的更多相关文章
- 【原创】大数据基础之ORC(1)简介
https://orc.apache.org Optimized Row Columnar (ORC) file 行列混合存储 层次结构: file -> stripes -> row g ...
- ORC Creation Best Practices
Short Description: ORC Creation Best Practices with examples and references. Article Synopsis. ORC i ...
- [Hive - LanguageManual] Alter Table/Partition/Column
Alter Table/Partition/Column Alter Table Rename Table Alter Table Properties Alter Table Comment Add ...
- [Hive - LanguageManual] Create/Drop/Alter Database Create/Drop/Truncate Table
Hive Data Definition Language Hive Data Definition Language Overview Create/Drop/Alter Database Crea ...
- js一些小知识点
1.isNaN(),里面传一个参数,用来判断传入的值是否是数字.可以用来做一些简单的表单判断. 2.用innerHTML属性可以操作(包括获取和设置)span的内容,实际上对所有非表单元素都可以用in ...
- Spark SQL configuration
# export by: spark.sql("SET -v").show(n=200, truncate=False) key value meaning spark.sql.a ...
- HADOOP docker(六):hive简易使用指南
前言1.hive简介1.1 hive组件与相应功能:1.2 hive的表类型1.3 分区表1.3 分隔符1.4 hive的数据存储2.数据类型2.1 基本数据类型2.1 复杂数据类型2.3 NULL3 ...
- 10.Execution failed with exit status: 3
错误信息: insert overwrite table t_mobile_mid_use_p_tmp4_rcf select '201411' as month_id, a.prov_id, a.c ...
- hive_学习_01_hive环境搭建(单机)
一.前言 本文承接上一篇:hbase_学习_01_HBase环境搭建(单机),主要是搭建 hive 的单机环境 二.环境准备 1.说明 hive 的下载来源有: 官方版本:http://archive ...
随机推荐
- Visual Studio 2015 开发 ASP.NET 5 有何变化?(转)
出处:http://www.cnblogs.com/xishuai/p/visual-studio-2015-preview-asp-net-5-change.html 本篇博文目录: ASP.NET ...
- git post-receive 待验证的代码
使用 git post-receive 钩子部署服务端代码 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: ...
- 使用VM克隆CentOS后,更改网络配置
在使用VM克隆之后,遇到一件非常郁闷的事,就算我使用‘setup’命令,修改了我的网络配置,依然无法查询到我配置的网卡,也无法开启网卡. 经过百度等一系列手段,总结如下套路--PS:朋友称之为“破釜沉 ...
- JS 观察者模式
Events = function() { var listen, log, obj, one, remove, trigger, __this; obj = {}; __this = this; l ...
- VS 和Visual Assist X快捷键(转)
Visual Assist X 最有用的快捷键 1.Alt + G: 在定义与声明之间互跳. 2.Alt + O: 在.h与.cpp之间互跳.(O是字母O,不是数字零) 3.Alt + Shift + ...
- ExtractStrings字符串截取
//分割字符串 ExtractStrings var s: String; List: TStringList; begin s := 'about: #delphi; #pascal, ...
- 介绍自己以及github注册流程
我叫何季生,来自网络工程141,学号是1413042027,我喜欢看一些动漫和游戏,对于编程并不是很厉害希望今年能够有所突破. github注册流程:在刚开始注册github时,我用的是qq浏览器,却 ...
- Spring学习(一)——环境准备
以前做的项目都是用.net开发的,以后准备迁移到java平台上,近期正好有个新项目要上马,所以调研下java相关技术.Spring作为java平台下的一个全栈框架, 其简洁优雅的设计和 ...
- C# 连接 IBM MQ
安装 IBM WebSphere MQ:http://www-01.ibm.com/software/integration/wmq/explorer/downloads/ 正确安装要注意几个地方,集 ...
- 线程概要 Java
线程 进程和线程的区别 串行:初期的计算机只能串行执行任务,大量时间等待用户输入 批处理:预先将用户的指令集中成清单,批量串行处理用户指令,仍然无法并发执行 进程:进程独占内存空间,保存各自运行状态, ...