亚马逊EMR火花上的蜂巢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了亚马逊EMR火花上的蜂巢相关的知识,希望对你有一定的参考价值。

我在hive上尝试了以下命令:

set hive.execution.engine=spark;

但在亚马逊EMR上设置执行引擎后运行任何查询时出错:

    Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Iterable
        at org.apache.hadoop.hive.ql.parse.spark.GenSparkProcContext.<init>(GenSparkProcContext.java:163)
        at org.apache.hadoop.hive.ql.parse.spark.SparkCompiler.generateTaskTree(SparkCompiler.java:328)
        at ---------------
    Caused by: java.lang.ClassNotFoundException: scala.collection.Iterable
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at ---------------

我试图将jar从spark复制到hive路径并激发conf文件到hive conf,仍然得到错误,任何修复?

答案

我试图将jar从spark复制到hive路径并将conf文件引发到hive conf

您不需要进行任何类型的手动配置。你手动安装了任何组件吗?我刚刚创建了一个带有Hive,Spark和Hadoop的EMR集群,并且该命令开箱即用。

在创建群集时,您需要单击“转到高级选项”并手动检查组件。 “快速选项”中的Spark堆栈不包含Hive。

另一答案

要在hive脚本中添加与spark相关的jar,以在spark执行引擎中运行hive查询。

请在/ usr / lib / hive / bin / hive脚本中添加以下行

for f in ${SPARK_HOME}/jars/*.jar; do
     CLASSPATH=${CLASSPATH}:$f;
done

在这一行之后

HIVE_LIB=${HIVE_HOME}/lib

希望这可以帮助。

谢谢拉维

以上是关于亚马逊EMR火花上的蜂巢的主要内容,如果未能解决你的问题,请参考以下文章

蜂巢分区表上的火花行为

AWS EMR 上的奇怪火花错误

在火花中联合后再次排序的蜂巢表排序

如何从 Lambda 函数在亚马逊 EMR 上执行 spark 提交?

在 Amazon EMR-4 上的 Tez 上运行 Pig

在火花中加入两个存在于蜂巢中的表