精选30+云产品,助力企业轻松上云!>>>

点击蓝色“大数据每日哔哔”关注我

加个“星标”,第一时间获取大数据架构,实战经验



本文主要介绍 ORC 格式在 Hive 中的应用。这里先简单的介绍一下 ORC 格式的优势以及应用。后续会专门写一篇深入ORC格式的文章。

ORC文件不仅仅是一种列式文件存储格式,最重要的是有着很高的压缩比,并且对于MapReduce来说是可切分(Split)的。因此,在Hive中使用ORC作为表的文件存储格式,不仅可以很大程度的节省HDFS存储资源,而且对数据的查询和处理性能有着非常大的提升,因为 ORC 较其他文件格式压缩比高,查询任务的输入数据量减少,使用的 Task 也就减少了。

对性能提升的另一个方面是通过在ORC文件中为每一个字段建立一个轻量级的索引,来判定一个文件中是否满足WHERE子句中的过滤条件。比如:当执行HQL语句”SELECT COUNT(1) FROM xxx WHERE a=1”时候,先从ORC文件的metadata中读取索引信息,快速定位到id=0所在的offsets,如果从索引信息中没有发现id=0的信息,则直接跳过该文件。

在 Hive 中执行如下语句,新建 hive 表 xxx, 并指定存储格式为 ORC。

CREATE TABLE xxx (  name STRING,  color STRING) STORED AS ORC;

如果,某个表不是 ORC 格式存储的,现在想要修改成 ORC 格式的,可以执行下面的语句:

alter table xxx set fileformat orc;

从 Hive 0.14 版本开始,可以执行下面的语句进行 ORC 小文件的合并。合并发生在 stripe 层面,所以不会发生重新解压编码。

alter table xxx [PARTITION partition_spec] CONCATENATE;

如果想要查看 ORC 文件的信息,可以执行如下语句,其中 path 为 hdfs 路径。

hive --orcfiledump <path_to_file>

从 Hive 1.1 开始,如果想要查看 ORC 的数据内容,可以执行如下语句:

hive --orcfiledump -d <path_to_file>

参考

http://lxw1234.com/archives/2016/04/630.htm

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORC

https://orc.apache.org/docs/hive-config.html

(完)

本文分享自微信公众号 - 大数据每日哔哔(bb-bigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

ORC 在 Hive 中的应用相关推荐

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

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

  2. hive中建立“按天分区“的外表+存储为ORC文件+指定元数据

    CREATE EXTERNAL TABLE `example`(`axxsdf` string,`mydeailyTime` timestamp) PARTITIONED by (`datetime` ...

  3. Hive中text格式和orc格式表的索引性能相关总结

    Hive中text格式和orc格式表的索引性能相关总结 text表索引的使用: 建表: create table aa (O_ORDERKEY int, O_CUSTKEY int, O_ORDER ...

  4. hive遍历_从Hive中的stored as file_foramt看hive调优

    一.行式数据库和列式数据库的对比 1.存储比较 行式数据库存储在hdfs上式按行进行存储的,一个block存储一或多行数据.而列式数据库在hdfs上则是按照列进行存储,一个block可能有一列或多列数 ...

  5. hive中实现行转列_漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

    全文由下面几个部分组成: 先分享一下拉链表的用途.什么是拉链表. 通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别. 举一个具体的应用场景,来设计并实现一份拉链表,最后并通 ...

  6. hive中导入text文件遇到的坑

    今天帮一同学导入一个excel数据,我把excel保存为txt格式,然后建表导入,失败!分隔符格式不匹配,无法导入!!!!怎么看两边都是\t,怎么不匹配呢? 做为程序员,最不怕的就是失败,因为我们有一 ...

  7. Hive中文件存储格式及大小比较测试

    在hive中创建表是有如下一个语句 [ROW FORMAT row_format] row_format 的类型有如下: file_format: : SEQUENCEFILE | TEXTFILE ...

  8. hive中NULL值问题

    问题描述 源端数据oracle数据库,通过cdm迁移工具将数据迁移到目标端hive.在oracle中的NULL值迁移到hive中后有的字段表现为NULL,有的字段表现为空串""(即 ...

  9. hive中的事物操作

    背景 hive中默认是不支持事物的,Hive的常见也一般都是一次写入,频繁读取.加入事物之后,支持update.insert.delete操作 保存的文件格式必须为crc格式file 需要修改配置文件 ...

最新文章

  1. oracle 取系统当前年份_oracle查询以当前年份为准的近些年数据
  2. 领域驱动设计 敏捷_反馈失败:发现敏捷数据驱动的致命弱点的风险
  3. dataset中有多个表,返回XML字符串设置主从关系
  4. ArrayList练习——存储随机、存储自定义、按指定格式输出、筛选集合
  5. OpenGL indirect material间接材料的实例
  6. Freemarker中如何遍历List
  7. rvm的安装, 使用rvm, 安装ruby, 以及gem的使用 (转)
  8. 下载文件byte[]
  9. python 线程中出现执行错乱_python线程中的同步问题
  10. RUP---统一软件开发过程
  11. JavaScript中unescape函数
  12. lol服务器维修2019,lol服务器是不是炸了 2019年3月23出现预料之外的错误
  13. 数据分析进阶-Excel绘制分段折线图
  14. 利用阿里云免费镜像仓库,实现微服务的k8s部署
  15. 费马素数(费马质数)
  16. 原创:商务通弹窗最新破解方法
  17. 人工智能-强化学习-算法:Critic 【用于评价一个 Actor/Policy π】--> Q-Learning【用于训练出来一个最优 Actor/Policy π,擅长处理离散型 actions】
  18. 将VC++黑白屏蔽图转换为Cocos2dx中可用的png
  19. 图解 Spring 循环依赖,看过之后再也不怕面试被问到了!
  20. 中国民贸会南粤分会关爱未来人口发展工程公益项目在韶关启动

热门文章

  1. Mybatis if test 中int判断非空的坑
  2. HTML5与Phonegap框架初步
  3. 【云快讯】之五十五《IBM推出Data Warehouse数据仓库云服务》
  4. Exchange Online Whitelist
  5. 一款JS+CSS实现的无缝平滑图片滚动代码
  6. 利用优先级队列实现堆栈
  7. Win2003 运行 命令行 快捷操作
  8. 容器编排技术 -- Kubernetes kubectl create service externalname 命令详解
  9. JMeter学习笔记——数据库压力测试(JDBC Request)
  10. linux 系统文件目录颜色及特殊权限对应的颜色