Hive总是创建mapreduce工作

时间:2015-08-03 08:31:00

标签: hadoop mapreduce hive

当我运行像这样的选择

时,我一直在工作中使用配置单元
"Select * from TABLENAME" 

hive执行mapreduce作业,当我运行

"Select * from TABLENAME LIMIT X" independently of x. 

hive不会执行mapreduce作业。

我使用hive 1.2.1,HDP 2.3.0,hue 2.6.1和hadoop 2.7.1

关于这个事实的任何想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

Select * from table;

不需要地图也不需要减少。这里没有过滤器(where语句)或聚合函数。此查询只是从HDFS读取。

答案 1 :(得分:-1)

这是蜂巢的基本任务。它只是地图减少工作的抽象。以前的facebook工程师不得不为临时分析编写100多个map-reduce工作,而map-reduce工作在某种程度上是一种痛苦。所以他们用sql语言抽象它,将在map-reduce工作中翻译。

这与Pig(雅虎)相同。

P.S有些查询非常简单,以至于它们没有被翻译成map-reduce作业,但据我所知,它们在一个节点上本地执行