如何从现有的sparkconf获取sparkconf,并从现有的sparkconf创建一个新的sparkconf

nnsrf1az  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(610)

我正在使用 spark-sql-2.4.1v , spark-cassandra-connector-2.4.1v 使用java。为了将dataframe写入cassandradb,我创建了一个spark

SparkConf conf = new SparkConf(true)
                          .set("spark.cassandra.connection.host",cassandraConfig.getHosts())
                          .set( ...).

我正在使用它创建sparksession,如下所示

spark = SparkSession
        .builder()
        .appName(appName)
        .config("spark.master",deploymentMaster)
        .config(conf)
        .getOrCreate();

我用同样的方法从cassandra表中读取数据。
而不是固定的 SparkConf ,我想动态设置更多的cassandra属性,然后创建sparksession,我想使用它从cassandra表中读取数据。
如何做到这一点?

7bsow1i6

7bsow1i61#

在现有的sqlcontext或sparkcontext中可以通过一些方法设置conf。
要将配置添加到现有sparkcontext:

ss.sparkContext.getConf.set("key","value")

要将配置添加到现有sqlcontext:

ss.sqlContext.setConf("key","value")

要获取现有sparkconf:

ss.sparkContext.getConf()

也可以在spark submit中使用

spark-submit --conf spark.cassandra.connection.host=

相关问题