2017-04-10 11 views
0

私は、Google Dataprocイメージv1.1(Hive 2.1.0とSpark 2.0.2)上で動作するHiveを設定して、デフォルトのMapReduceの代わりに実行エンジンとしてSparkを使用しようとしています。Google DataprocでSpark実行エンジンを使用するようにHiveを設定するにはどうすればよいですか?

https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Startedの指示に従わないと、hive.execution.engine=sparkに設定するとError running query: java.lang.NoClassDefFoundError: scala/collection/Iterableエラーが発生します。

誰もがこれをDataprocで実行する特定の手順を知っていますか?私はHiveとSparkの両方が既にクラスタにインストールされ、設定されているので、Hiveに正しいJARを見せてもらうことができます。

答えて

1

これはおそらくDataprocクラスタのjarでは機能しません。 Dataprocでは、SparkはHiveをバンドルしてコンパイルされています(-Phive)。これはHive on Sparkが提案/サポートしていません。

実際にHiveをSparkで実行したい場合は、wikiに記載されているようにコンパイルされた初期化アクションで独自のSparkを起動することをお勧めします。

Teveを実行しているDataprocでMapReduceからHiveを実行したい場合は、おそらくthis initialization actionで簡単になります。

+0

ありがとうございます! Sparkを試す前に実際にTezを走らせてみましたが、うまくいきませんでした。 Tezを正常にインストールした初期化アクションを使用しましたが、 'hive.execution.engine = tez'を設定したときに、' Error running query:java.lang.NoClassDefFoundError:org/apache/tez/runtime/api/Event' 。 Tezが動作するために他に何が必要なのか知っていますか? – domkck

関連する問題