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が動作するためには、上記の例外を解決するために何が必要ですか?
私の2セント:Sparkで使用されている「hive-site.xml」がすべてのTEZ構成プロパティからクリーンアップされていることを確認してください。 –
ですが、TEZを使用したいと考えています。私の質問は、HDP 2.6でTEZのHiveを使用できるかどうかでした(HDP 2.5では動作しましたが、HDP 2.6では動作しません)。 –
スパークはTEZを使用しません。スパークはMRを使用しません**。 Sparkには独自の実行エンジンがあります。したがって、表示されるエラーは、Hive Metastoreに接続するとき(無駄な)initパラメータから来る必要があります。 –