如何从现有的 SparkSession 中获取 SparkConf 并从获取的 SparkConf 中创建新的 SparkSession
How to get SparkConf from existing SparkSession and create a new SparkSession from gotten SparkConf
我正在使用 spark-sql-2.4.1v
、spark-cassandra-connector-2.4.1v
和 Java。为了将数据帧写入 Cassandra 数据库,我创建了一个 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 读取数据 table。
我想动态设置更多 Cassandra 属性,而不是固定 SparkConf
,然后创建 SparkSession,我想使用它从 Cassandra table.
读取数据
如何做到这一点?
您可以通过多种方式在现有的 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=
我正在使用 spark-sql-2.4.1v
、spark-cassandra-connector-2.4.1v
和 Java。为了将数据帧写入 Cassandra 数据库,我创建了一个 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 读取数据 table。
我想动态设置更多 Cassandra 属性,而不是固定 SparkConf
,然后创建 SparkSession,我想使用它从 Cassandra table.
如何做到这一点?
您可以通过多种方式在现有的 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=