阅读Hive Orc官方文档
Introduction
Orc格式支持自Hive 0.11引入。
The Optimized Row Columnar (ORC) 文件格式提供了更高效地存储Hive数据存储。其设计初衷是克服其他Hive文件格式的局限。
使用Orc文件提升了Hive的读写和处理性能。
相比RCFile,ORC文件格式由如下优点:
每个T……继续阅读 »
wangting
4年前 (2019-10-29) 1490浏览
6个赞
Sql由SQLContext处理,HQL由HiveContext处理。二者使用不同的parser进行解析。
Sql parser的实现在Spark SQL catalyst源码中,基于scala ddl paser的库文件实现了一套词法语法分析器。
HQL是SQL在Hive中的”方言”,它的解析借助开源语法分析器antrl实现。
在H……继续阅读 »
wangting
4年前 (2019-10-14) 1225浏览
5个赞
hive.map.aggr=true;在map中会做部分聚集操作,效率更高但需要更多的内存。
hive.groupby.skewindata=true:数据倾斜时负载均衡,当选项设定为true,生成的查询计划会有两个MRJob。第一个MRJob 中,
Map的输出结果集合会随机分布到Reduce中,每个Reduce做部分聚合操作,并输出结果,这样处理的结果是……继续阅读 »
wangting
6年前 (2018-04-20) 2569浏览
4个赞
MapJoin是Hive的一种优化操作,其适用于小表JOIN大表的场景,由于表的JOIN操作是在Map端且在内存进行的,所以其并不需要启动Reduce任务也就不需要经过shuffle阶段,从而能在一定程度上节省资源提高JOIN效率.
方法一
在Hive0.11前,必须使用MAPJOIN来标记显示地启动该优化操作,由于其需要将小表加载进内存所以要注意小表的大小……继续阅读 »
wangting
6年前 (2017-11-24) 1858浏览
0个赞
order by:会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)。只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。
在hive.mapred.mode=strict模式下,强制必须添加limit限制,这么做的目的是减少reducer数据规模,例如,当限制limit 100时, 如果map的个数为50……继续阅读 »
wangting
7年前 (2017-07-27) 1224浏览
0个赞