温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ORC在Hive中如何应用

发布时间:2021-12-11 12:39:28 来源:亿速云 阅读:340 作者:小新 栏目:大数据

这篇文章主要介绍了ORC在Hive中如何应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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>

感谢你能够认真阅读完这篇文章,希望小编分享的“ORC在Hive中如何应用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI