Apache spark 如何在Apache Spark中添加配置单元支持?

Apache spark 如何在Apache Spark中添加配置单元支持?,apache-spark,hive,hive-metastore,Apache Spark,Hive,Hive Metastore,我有以下设置: -HDFS -蜂巢 -远程配置单元元存储(和元存储数据库) -Apache Spark(从下载并安装) 我可以按预期使用配置单元,创建表,从HDFS读取数据等等。但是,不能让spark在蜂巢支持下运行。每当我运行val sparkSession=sparkSession.builder().appName(“MyApp”).enableHiveSupport().getOrCreate() 我得到java.lang.IllegalArgumentException:无法使用配置单

我有以下设置: -HDFS -蜂巢 -远程配置单元元存储(和元存储数据库) -Apache Spark(从下载并安装)

我可以按预期使用配置单元,创建表,从HDFS读取数据等等。但是,不能让spark在蜂巢支持下运行。每当我运行
val sparkSession=sparkSession.builder().appName(“MyApp”).enableHiveSupport().getOrCreate()

我得到
java.lang.IllegalArgumentException:无法使用配置单元支持实例化SparkSession,因为找不到配置单元类。

配置单元类位于路径中,我复制了Hive-site.xml、core-site.xml和hdfs-site.xml

我是否需要使用hive支持构建spark(如本文所述:)以使spark与hive协同工作

是否有一个带有蜂巢支持焦油的Spark可用,我可以提取它而不是从源代码构建


谢谢

您运行spark的环境是什么?简单的答案是让任何可用的包装工具来完成所有的繁重工作。例如,如果您使用osx,请使用brew安装所有内容。如果您在maven/sbt项目中,请引入spark hive包,等等

我是否需要通过配置单元支持构建spark

如果您是从源代码手动构建spark,则是这样。下面是一个示例命令。(但很可能你不必这么做)

./build/mvn-Pyarn-Phive-Phive-thriftserver-DskipTests干净包

如果您缺少类,spark将在内部检查是否存在“org.apache.hadoop.hive.conf.HiveConf”,它位于hive-exec-1.2.1.spark.jar中。请注意,这是一个定制版的蜂巢,旨在与spark配合使用


您运行spark的环境是什么?简单的答案是让任何可用的包装工具来完成所有的繁重工作。例如,如果您使用osx,请使用brew安装所有内容。如果您在maven/sbt项目中,请引入spark hive包,等等

我是否需要通过配置单元支持构建spark

如果您是从源代码手动构建spark,则是这样。下面是一个示例命令。(但很可能你不必这么做)

./build/mvn-Pyarn-Phive-Phive-thriftserver-DskipTests干净包

如果您缺少类,spark将在内部检查是否存在“org.apache.hadoop.hive.conf.HiveConf”,它位于hive-exec-1.2.1.spark.jar中。请注意,这是一个定制版的蜂巢,旨在与spark配合使用


感谢您的回复@Andrew Long,我正在使用docker在一个容器中安装和构建Spark。它基于debian:stretch image——因此从中获取tar并使用tar提取源代码。看来我还是要从源代码开始构建了!有没有一个tar是用Hive支持构建的?添加了一个与您需要的jar完全一致的更新。太棒了!非常感谢。我想这就是我要找的。这就是说,与此同时,我开始研究如何从源头上建立火花。我将尝试添加您首先提到的罐子。使用那个罐子不起作用。我猜我必须使用hive Support从源代码构建它感谢您的响应@Andrew Long,我正在使用docker在容器中安装和构建Spark。它基于debian:stretch image——因此从中获取tar并使用tar提取源代码。看来我还是要从源代码开始构建了!有没有一个tar是用Hive支持构建的?添加了一个与您需要的jar完全一致的更新。太棒了!非常感谢。我想这就是我要找的。这就是说,与此同时,我开始研究如何从源头上建立火花。我将尝试添加您首先提到的罐子。使用那个罐子不起作用。我猜我将不得不在配置单元支持下从源代码构建它