我在Spark上使用Hive时遇到问题.我在CentOS 6.5上通过Ambari安装了单节点HDP 2.1(Hadoop 2.4).我正在尝试在Spark上运行Hive,所以我使用了这个说明:
https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started
我已经在官方的Apache Spark网站上找到了Spark的"Prebuilt for Hadoop 2.4"版本.所以我开始了大师:
./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的执行引擎以引发此提示:
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].
因此,如果我尝试启动一个简单的Hive查询,我可以在我的hadoop.hortonwork:8088上看到启动的作业是MapReduce-Job.
现在问我的问题:如何更改Hive的执行引擎,以便Hive使用Spark而不是MapReduce?有没有其他方法可以改变它?(我已经尝试通过ambari和hive-site.xml更改它)
像这样改变hive配置属性....
在 $HIVE_HOME/conf/hive-site.xml
<property> <name>hive.execution.engine</name> <value>spark</value> <description> Chooses execution engine. </description> </property>