2016-11-21 2 views
1

Я хотел бы прочитать данные из MySQL через Spark. API, который я видел, способен считывать данные из конкретной таблицы. что-то подобное,Как выполнить соединение с MySQL (JDBC) с помощью Spark?

val prop = new java.util.Properties 
prop.setProperty("user", "<username>") 
prop.setProperty("password", "<password>") 

sparkSession.read.jdbc("jdbc:mysql://????:3306/???", "some-table", prop) 

Теперь я хотел бы выполнить запрос для объединения таблиц. Кто-нибудь знает, как это сделать (на стороне базы данных, а не на Spark SQL)?

Спасибо,

Эран

ответ

5

Вы должны будете использовать «таблицы» аргумент запроса:

val table = "(SELECT foo JOIN bar ON foo.id = bar.id) as t" 

spark.read.jdbc("jdbc:mysql://????:3306/???", table, prop) 

Вы должны отметить, что предоставление псевдоним запроса является важным или это не сработает.

+0

Вам не нужно было делать это как wiki – eliasah

+0

@eliasah Так много изменений ... и я делаю все мои сообщения wikis :) Спасибо за дополнения! –

+1

Вам понадобится репутация, если вы хотите продолжать раздавать награды: P – eliasah

Смежные вопросы