如何使用databricks作业spark配置spark\u conf?

mnemlml8  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(285)

我有一个示例spark代码,我试图通过使用databricks ui中的typesafe application.conf和spark conf来访问spark配置提供的表的值。我使用的代码如下,
当我在databricks ui中点击run按钮时,作业正在成功完成,但是println函数正在打印dummyvalue,而不是thisistableone,thisistablebone。。。
我可以从spark ui看到,表名的配置被传递给spark作业,但是这些值没有反映在代码中。

try {

    val inputConfig = AppConfig.getConfig("input")
    val outputConfig = AppConfig.getConfig("output")

    val tableA = inputConfig.getString("tableA")
    val tableB = inputConfig.getString("tableB")
    val tableC = outputConfig.getString("tableC")

    println(
    s"""
    |$tableA
    |$tableB
    |$tableC
    |""".stripMargin)

    val userDataInTable = sparkSession.createDataFrame(Seq(
    (1, "dummy", "dummy", "dummy")

    )).toDF("id", "col2", "col3", "col4")

    userDataInTable.show(false)

    println("Completed Entry ")

    } catch {
    case e: Exception =>
    sparkSession.stop()
    e.printStackTrace
    }
    //application.conf contains below text,

    spark.tableNameA="dummyValue"
    spark.tableNameB="dummyValue"
    spark.tableNameC="dummyValue"
    input{
    tableA=${spark.tableNameA}
    tableB=${spark.tableNameB}
    }
    output{
    tableC=${spark.tableNameC}
    }

    //AppConfig
    val appConfig = ConfigFactory.load("application.conf")
    def getConfig(moduleName: String): Config = {
    val config = appConfig.getConfig(moduleName)
    config
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题