每次我使用spark-submit运行作业时,Spark总是使用现有的SparkContext

Aka*_*thi 5 apache-spark

我在群集上部署了一些火花.我使用spark-submit命令跟随我的项目jar 提交spark作业.

Spak Conf我的项目中有很多.Conf将根据我正在运行的课程来决定,但每次我运行spark工作时都会收到此警告

7/01/09 07:32:51 WARN SparkContext:使用现有的SparkContext,某些配置可能不会生效.

查询是否意味着SparkContext已经存在,我的工作就是选择它. 查询为什么没有进行配置

private val conf = new SparkConf()
    .setAppName("ELSSIE_Ingest_Cassandra")
    .setMaster(sparkIp)
    .set("spark.sql.shuffle.partitions", "8")
    .set("spark.cassandra.connection.host", cassandraIp)
    .set("spark.sql.crossJoin.enabled", "true")


object SparkJob extends Enumeration {

  val Program1, Program2, Program3, Program4, Program5 = Value
}

object ElssieCoreContext {

def getSparkSession(sparkJob: SparkJob.Value = SparkJob.RnfIngest): SparkSession = {
     val sparkSession = sparkJob match {
          case SparkJob.Program1 => {
            val updatedConf = conf.set("spark.cassandra.output.batch.size.bytes", "2048").set("spark.sql.broadcastTimeout", "2000")
            SparkSession.builder().config(updatedConf).getOrCreate()
          }
          case SparkJob.Program2 => {
            val updatedConf = conf.set("spark.sql.broadcastTimeout", "2000")
            SparkSession.builder().config(updatedConf).getOrCreate()
          }
    }
Run Code Online (Sandbox Code Playgroud)

}

在Program1.scala中,我打电话给

val spark = ElssieCoreContext.getSparkSession()
val sc = spark.sparkContext
Run Code Online (Sandbox Code Playgroud)