當使用HDP 2.5與spark 1.6.2一起使用時,我們使用Hive與Tez作爲其執行引擎並運行。Hive on Tez在Spark 2中不起作用
但是,當我們與火花2.1.0搬到HDP 2.6,蜂房沒有與TEZ作爲其執行引擎的工作,和下面的異常被拋出時,DataFrame.saveAsTable
API被稱爲:
java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:529)
at org.apache.spark.sql.hive.client.HiveClientImpl.<init> HiveClientImpl.scala:188)
看答案this問題後,我們切換蜂巢執行引擎,以MR(MapReduce的),而不是TEZ和它的工作。
但是,我們希望與Hive一起在Tez上工作。需要什麼來解決上述異常,以便Hive能夠使用Tez?
我的兩分錢:檢查Spark使用的'hive-site.xml'是否已從所有TEZ配置屬性中清除。 –
但我們想使用TEZ。我的問題是如果我們可以在HDZ 2.6上使用Hive對TEZ(在HDP 2.5中它工作但在HDP 2.6中它不會)。 –
Spark不**使用TEZ。 Spark不**使用MR。 Spark有自己的執行引擎。因此,當您連接到Hive Metastore時,您看到的錯誤必須來自(無用的)初始參數。 –