Коннектор с несколькими MySQL серверами в Spark SQL - PullRequest
0 голосов
/ 11 июля 2019

У нас есть сценарий, в котором мы должны объединить несколько таблиц из разных источников.Например, у нас есть

  1. table1, table2 из mysql1
  2. table3, table4 из mysql2
  3. table5 из mysql3
  4. 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 раз, или есть ли лучший способ получить файл конфигурации и подключиться?оттуда?

1 Ответ

0 голосов
/ 11 июля 2019

Забудьте, это невозможно. 6 БД - это 6 JDBC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...