【发布时间】:2018-10-17 21:34:00
【问题描述】:
我很少有火花测试,我在 spark 1.6.0 上通过 maven 远程运行良好,并且正在使用 scala。现在我想在 spark2 上运行这些测试。问题是 cloudera,默认情况下使用 spark 1.6。 cloudera 是从哪里获取这个版本的,我需要做什么来更改 spark 的默认版本? 此外,spark 1.6 和 spark 2 存在于同一个集群上。两种火花版本都存在于纱线之上。 hadoop 配置文件存在于我用来在测试环境中运行测试的集群上,这就是我获取 spark 上下文的方式。
def getSparkContext(hadoopConfiguration: Configuration): SparkContext ={
val conf = new SparkConf().setAppName("SparkTest").setMaster("local")
hadoopConfiguration.set("hadoop.security.authentication", "Kerberos")
UserGroupInformation.loginUserFromKeytab("alice", "/etc/security/keytab/alice.keytab")
val sc=new SparkContext(conf)
return sc
}
有什么方法可以在 conf 文件或 cloudera 本身中指定版本吗?
【问题讨论】:
-
我无法理解您的问题。特别是:有什么方法可以在 conf 文件中指定 it[...]? 这里的“it”是什么?
-
@wind 基于这个
How do i specify the version ?,我会说“它”是spark版本。 -
可以为依赖管理器定义一个版本的 Spark,因此对于 Scala,它可以是 SBT、Maven 或 Gradle。项目中有一个文件(相应的build.sbt、pom.xml、build.gradle)来定义依赖项(包名和版本)。
标签: scala apache-spark cloudera-manager