中台spark传入自定义参数

适用模块

spark jar

具体说明

获取自定义参数
中台配置  conf.spark.custom.sql="select * from aaa"
如果需要带双引号的话,需要用单引号括起来如:
conf.spark.custom.sql=
{username:'"杰克"',age:30,gender:'"男"'}
代码  conf.get("spark.custom.sql")
如果需要带单引号的话,需要用双引号括起来如:
select * from xx where id="'10'"
代码  conf.get("spark.custom.sql")

平台提交spark任务相当于
spark-submit xxx.jar --conf spark.custom.sql="select * from aaa"

使用示例

代码示例
scala
package com.neteast.spark

import org.apache.spark.{SparkConf, SparkContext}

object aaa {
  def main(args: Array[String]): Unit = {
    println(System.getenv())
    println(System.getProperties)
    println(System.getenv("sql")+"bbb")
    println(System.getProperty("sql")+"aaa")
    for (i <- args ) {
      println(i)
    }
    println("============================")
    val conf = new SparkConf().setAppName("firstapp").setMaster("yarn")
    val sc = new SparkContext(conf)
    printf(conf.get("spark.custom.sql"))
    val a = sc.parallelize(List(1, 2, 3, 4))
    a.persist();
    println(a.count())
    println("============================")
    a.collect().foreach(println)
  }

}

把文件上传到资源

Demo-spark-jar传入自定义参数 - 图1

配置如下

Demo-spark-jar传入自定义参数 - 图2

Demo-spark-jar传入自定义参数 - 图3

代码示例
java

Demo-spark-jar传入自定义参数 - 图4

中台配置

Demo-spark-jar传入自定义参数 - 图5

结果

Demo-spark-jar传入自定义参数 - 图6


作者:qianzhaoyuan