我正在尝试将jdbc表读入sparkDataframe。通常我们会这样做。
val sparkSessionBuiltObject: SparkSession = SparkSession.builder.config(customconfig)
.master("local[*]")
.appName("Application")
.getOrCreate()
sparkSessionBuiltObject.read
.jdbc(s"jdbc:sqlserver://localhost:1433;databaseName=dbname",
sourceTable,
jdbcConnectionProperties)
在使用casssandra连接器或s3时,我们可以在spark conf中设置主机和身份验证,并使用该配置构建spark会话,如下所示
generatedSparkConf.set("spark.cassandra.connection.host", "cassandra_host")
.set("spark.cassandra.auth.username", "cassandra_username")
.set("spark.cassandra.auth.password", "cassandra_password")
val sparkSessionBuiltObject: SparkSession = SparkSession.builder.config(customconfig)
.master("local[*]")
.appName("Application")
.getOrCreate()
或
generatedSparkConf.set("fs.s3a.connection.ssl.enabled",value = "false")
.set("fs.s3a.endpoint","s3.endpoint")
.set("fs.s3a.access.key","s3.accessKey")
.set("fs.s3a.secret.key","s3.secretKey")
有没有办法在中指定jdbc uri和auth\u选项 spark.conf
这样spark就可以自动拾取它们。
2条答案
按热度按时间q0qdq0h21#
为什么不使用config.properties文件?
config.properties的内容
然后使用--files参数提交
e5nszbig2#
如spark配置文档中所述,您可以使用
spark.hadoop.
将任何设置传递给spark的前缀... 添加配置
“spark.hadoop..def=xyz”
表示添加hadoop属性“.def=xyz”
... 它们可以被视为与正常Spark特性相同,可以在$SPARK_HOME/conf/spark-defaults.conf
即。,spark.hadoop.any.setting
可以通过标准spark配置文件或从命令行使用--conf
参数,然后使用名称在spark中检索any.setting
.