【问题标题】:How to get SparkConf from existing SparkSession and create a new SparkSession from gotten SparkConf如何从现有的 SparkSession 中获取 SparkConf 并从获取的 SparkConf 中创建新的 SparkSession
【发布时间】:2020-10-13 04:51:09
【问题描述】:

我在 Java 中使用 spark-sql-2.4.1vspark-cassandra-connector-2.4.1v。为了将数据帧写入 Cassandra db,我正在创建一个 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 表中读取数据。

我想动态设置更多的 Cassandra 属性,而不是固定的 SparkConf,然后创建 SparkSession,我想使用它从 Cassandra 表中读取数据。

如何做到这一点?

【问题讨论】:

  • 您可以将spark-submit 的配置添加为--conf spark.cassandra.connection.host=...

标签: apache-spark cassandra apache-spark-sql datastax-java-driver spark-cassandra-connector


【解决方案1】:

您可以通过多种方式在现有的 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=

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-13
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多