我在spark上使用Hive时遇到问题。我已经通过ambari在centos6.5上安装了单节点hdp2.1(hadoop2.4)。我想在spark上运行hive,所以我使用了以下说明:
https://cwiki.apache.org/confluence/display/hive/hive+on+spark%3a+getting+started
我已经下载了spark的“prebuildforhadoop2.4”版本,这是我在apachespark官方网站上找到的。所以我从大师开始:
./spark-class org.apache.spark.deploy.master.Master
然后工人:
./spark-class org.apache.spark.deploy.worker.Worker spark://hadoop.hortonworks:7077
然后我用这个提示启动了hive:
hive –-auxpath /SharedFiles/spark-1.0.1-bin-hadoop2.4/lib/spark-assembly-1.1.0-hadoop2.4.0.jar
然后,根据指令,我不得不用以下提示将hive的执行引擎更改为spark:
set hive.execution.engine=spark;,
结果是:
Query returned non-zero code: 1, cause: 'SET hive.execution.engine=spark' FAILED in validation : Invalid value.. expects one of [mr, tez].
因此,如果我尝试启动一个简单的配置单元查询,我可以在hadoop.h上看到ortonwork:8088 that 启动的作业是mapreduce作业。
现在我的问题是:如何更改hive的执行引擎,使hive使用spark而不是mapreduce?有没有别的办法可以改变呢(我已经尝试通过ambari和hive site.xml更改它)
4条答案
按热度按时间y3bcpkx11#
试试这个命令,它会运行良好。
toe950272#
配置单元配置属性的更改如下。。。。
在
$HIVE_HOME/conf/hive-site.xml
```hive.execution.engine
spark
Chooses execution engine.
sxissh063#
在hive>conf>hive-site.xml中,将hive.execution.engine的值设置为spark。
2q5ifsrm4#
set hive.execution.engine=spark;这是在hive 1.1+以后引入的。我认为你的配置单元版本比配置单元1.1旧。
资源:https://cwiki.apache.org/confluence/display/hive/hive+on+spark%3a+getting+started