2014-09-24 89 views
2

我在Spark上使用Hive时出现问题。我在CentOS 6.5上通过Ambari安装了单节点HDP 2.1(Hadoop 2.4)。我试图在星火运行蜂巢,所以我用这个指令:如何配置Hive使用Spark?

https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started

我已经下载了“预建Hadoop的2.4”星火-version,这是我的Apache官方星火网站上找到。于是我开始了主用:

./spark-class org.apache.spark.deploy.master.Master 

然后与工人:

./spark-class org.apache.spark.deploy.worker.Worker spark://hadoop.hortonworks:7077 

然后,我用这样的提示开始蜂巢:

hive –-auxpath /SharedFiles/spark-1.0.1-bin-hadoop2.4/lib/spark-assembly-1.1.0-hadoop2.4.0.jar 

然后,根据指示,我不得不通过此提示更改配置单元的执行引擎以进行火花处理:

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.hortonwork看到:8088的推出作业是MapReduce的工作。

现在我的问题:如何更改Hive的执行引擎,使Hive使用Spark而不是MapReduce?还有其他方法可以改变它吗? (我已经尝试通过ambari和hive-site.xml进行更改)

+1

可能的话,请确认您遵循在“配置蜂巢”的说明 - 尤其是第1项? (基本上,你需要去下载“Hive on Spark”开发分支并自己构建它。)这是最新鲜的东西,普通的Hive现在还不支持它。 – 2014-09-24 15:18:38

+0

Hive-on-Spark仍然是一项正在进行的工作......如果你想用它做任何严肃的事情,那么我现在强烈劝阻你。 – vanza 2014-09-24 23:14:58

+0

**感谢您的回答**。也许这是其他一些关于Spark上的Hive的错误消息的原因。我不小心跳过了第1步。我想我会在服务器上安装一个新的Hadoop,而不使用Hortonworks或Cloudera。 – Baeumla 2014-09-25 06:29:02

回答

5

变化....

</property> 
    <name>hive.execution.engine</name> 
    <value>spark</value> 
    <description> 
    Chooses execution engine. 
    </description> 
</property> 
+0

应该是: hive.execution。发动机 火花 公司选择执行引擎。 Shanemeister 2017-08-12 19:52:40

3
set hive.execution.engine=spark; 

试试这个命令它会正常运行。在像这样的配置单元配置属性

0
在蜂房

> CONF>蜂房-site.xml中 设置hive.execution.engine的值火花。

</property> 
    <name>hive.execution.engine</name> 
    <value>spark</value> 
    </property>