簡體   English   中英

如何配置Hive使用Spark?

[英]How to configure Hive to use Spark?

我在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網站上下載了“Prebuilt for Hadoop 2.4”-version of Spark。 所以我開始了大師:

./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>
set hive.execution.engine=spark;

試試這個命令它運行正常。

在hive> conf> hive-site.xml中將hive.execution.engine的值設置為spark。

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

設置hive.execution.engine = spark; 這是在Hive 1.1+之后引入的。 我認為你的hive版本比Hive 1.1更舊。

在此輸入圖像描述 資源: https//cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM