我正在尝试配置在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(所以反过来)工作正常。
答案 0 :(得分:2)
这可能不适用于Dataproc群集中的jar。在Dataproc中,Spark是使用Hive捆绑(-Phive)编译的,Hive on Spark不会建议/支持它。
如果你真的想在Spark上运行Hive,你可能想尝试在wiki中描述的编译初始化操作中引入自己的Spark。
如果您只想在运行Tez的Dataproc上运行Hive off MapReduce,this initialization action可能会更容易。