apache-spark - Spark SQL 中的多个 MySQL 服务器连接器
问题描述
我们有一个场景,我们必须连接来自不同来源的多个表。例如我们有
table1
,table2
来自 mysql1table3
,table4
来自 mysql2table5
来自 mysql3table6
,table7
,table8
来自蜂巢
我们想在同一个查询中加入所有表。我们如何为所有 MySQL 连接创建单个连接器?
val jdbcDF = spark.read.format("jdbc").options(
Map("url" -> "jdbc:mysql://host1:3306/ontime?user=root&password='ert',
"dbtable" -> "ontime.ontime_part",
"fetchSize" -> "10000",
"partitionColumn" -> "yeard", "lowerBound" -> "1988", "upperBound" -> "2016", "numPartitions" -> "28"
)).load()
jdbcDF.createOrReplaceTempView("ontime")
val jdbcDF1 = spark.read.format("jdbc").options(
Map("url" -> "jdbc:mysql://host2:3306/ontime?user=root&password='xyz',
"dbtable" -> "intime.intime_part",
"fetchSize" -> "10000",
"partitionColumn" -> "yeard", "lowerBound" -> "1988", "upperBound" -> "2016", "numPartitions" -> "28"
)).load()
jdbcDF1.createOrReplaceTempView("intime")
就像,如果我们有 6 个 DB,我们需要做 6 次,还是有更好的方法来拥有一个配置文件并从那里连接?
解决方案
算了,这是不可能的。6 个 DB 是 6 个 jdbc。
推荐阅读
- r - R中的Plot_ly:如何添加正确的轴标签和刻度值?
- java - R中原始数据类型和类之间的关系
- html - Angular 8 *ngIf 无法在导航栏中正确反映 UI
- android - 更新 Firebase 会导致 RxBLE 崩溃
- django - Django REST框架:如何用额外的字段包装响应......并在数据字段中提供当前响应
- java - Camel:如何使用 StreamList 从 SQL 组件流式传输
- java - 从另一个类设置 gui 内容
- sql - 在字符串之间插入空格(SQL Server)
- eclipse - Java 代码在 Intellij 中失败,但在 eclipse 中失败,方法不明确
- c# - 如何将构造函数添加到列表中,并在不同的类中调用它们