pass选项参数动态触发

cetgtptt  于 2021-05-29  发布在  Spark
关注(0)|答案(0)|浏览(172)

我用以下方式在scala代码中创建spark会话:

sparkContext.getSparkSession()
      .readStream
      .format("kafka")
      .option("kafka.prop1","true")
      .option("kafka.prop2", "1")
      .option("kafka.prop3", "ddd")
      .option("kafka.prop4", "rttr")
      .load()
      .writeStream
      .option("checkpointLocation",checkpointLocation)
      .foreachBatch(forEachFunction.arceusForEachFunction(_,_))
      .start()

我想删除代码中的硬编码,并希望使其通用。我有一个配置所有的参数,可以创建一个 Map 对于 .option 领域。但是我不知道在发送到spark时如何创建.option参数
我的意图是。

Map("kafka.prop1" --> "true"),
("kafka.prop2" --> "SASL_SSL")

然后用这个填充选项。但我不知道怎么把这个传给。选项。此外,任何其他更好的方式也欢迎。

暂无答案!

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

相关问题