如何配置Hive在Google Dataproc上使用Spark执行引擎?

时间:2017-04-10 12:01:04

标签: apache-spark hive google-cloud-dataproc

我正在尝试配置在Google Dataproc映像v1.1上运行的Hive(所以Hive 2.1.0和Spark 2.0.2),使用Spark作为执行引擎而不是默认的MapReduce引擎。

按照此处的说明https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started无效,我设置Error running query: java.lang.NoClassDefFoundError: scala/collection/Iterable时出现hive.execution.engine=spark错误。

是否有人知道在Dataproc上运行此操作的具体步骤?从我可以说它应该只是让Hive看到正确的JAR的问题,因为Hive和Spark已经在集群上安装和配置,并且使用Spark的Hive(所以反过来)工作正常。

1 个答案:

答案 0 :(得分:2)

这可能不适用于Dataproc群集中的jar。在Dataproc中,Spark是使用Hive捆绑(-Phive)编译的,Hive on Spark不会建议/支持它。

如果你真的想在Spark上运行Hive,你可能想尝试在wiki中描述的编译初始化操作中引入自己的Spark。

如果您只想在运行Tez的Dataproc上运行Hive off MapReduce,this initialization action可能会更容易。