2017-05-03 4 views
0

spark 1.6.2でHDP 2.5を使用する場合、HiveをTezとともに使用して実行エンジンとして動作させました。TezのHiveは、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 on Tezと協力したいと思います。 TezのHiveが動作するためには、上記の例外を解決するために何が必要ですか?

+0

私の2セント:Sparkで使用されている「hive-site.xml」がすべてのTEZ構成プロパティからクリーンアップされていることを確認してください。 –

+0

ですが、TEZを使用したいと考えています。私の質問は、HDP 2.6でTEZのHiveを使用できるかどうかでした(HDP 2.5では動作しましたが、HDP 2.6では動作しません)。 –

+0

スパークはTEZを使用しません。スパークはMRを使用しません**。 Sparkには独自の実行エンジンがあります。したがって、表示されるエラーは、Hive Metastoreに接続するとき(無駄な)initパラメータから来る必要があります。 –

答えて

0

スパークジョブがYARN CLUSTERモードで実行されていて、(spark-default設定に追加された)「spark.yarn.dist.files」に正しいhive-site.xmlが追加されたときに解決されたとき、 /usr/hdp/current/hive-client/conf/hive-site.xml 他方は火花のために軽量バージョンです:

は、基本的に 1は、ハイブ構成である、二つの異なるハイブ-site.xmlのファイルがあります(ハイブを使って作業するための詳細については、/etc/spark//0/hive-site.xmlを参照してください)

sparkの2番目のファイルを使用する必要があります。 yarn.dist.files。

関連する問題