У нас есть сценарий, в котором мы должны объединить несколько таблиц из разных источников.Например, у нас есть
table1
, table2
из mysql1 table3
, table4
из mysql2 table5
из mysql3 table6
, 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 БД, нужно ли это делать 6 раз, или есть ли лучший способ получить файл конфигурации и подключиться?оттуда?