Как загрузить по разделу в спарк, не зная схему таблицы базы данных - PullRequest
1 голос
/ 26 июня 2019

Я пытаюсь загрузить таблицу на 40 миллионов с использованием JDBC-соединения. Очевидно, что загрузка по разделам является ответом на это.

Проблема в том, что я не знаю схемы таблицы, которую мне нужно загрузить, или столбца, по которому нужно разделить. Так как мне определить это изнутри искры?

val s_log = spark.read.format("jdbc").option("driver", "com.mysql.jdbc.Driver")
.option("url", "jdbc:mysql://impused?user=***&password=***")
.option("dbtable", "s_log")
.option("numPartitions", "500")
.option("partitionColumn", ??? no idea)
.option("lowerbound", ??? no idea)
.option("upperbound", ??? no idea)
.load()

1 Ответ

0 голосов
/ 26 июня 2019

Что вы должны знать, это имя table, в данном случае «s_log», так что вы можете просто выполнить этот запрос:

DESCRIBE s_log;

или

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'databasename' AND TABLE_NAME ='s_log'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...