Per leggere i dati dall'origine JDBC utilizzando la query sql in Spark SQL, puoi provare qualcosa del genere:
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()
L'ho provato usando PostgreSQL. Puoi modificarlo in base a MySQL
.