Para ler dados da fonte JDBC usando a consulta sql no Spark SQL, você pode tentar algo assim:
val df_table1 = sqlContext.read.format("jdbc").options(Map(
("url" -> "jdbc:postgresql://localhost:5432/mydb"),
("dbtable" -> "(select * from table1) as table1"),
("user" -> "me"),
("password" -> "******"),
("driver" -> "org.postgresql.Driver"))
).load()
Eu tentei usando o PostgreSQL. Você pode modificá-lo de acordo com
MySQL
.