Spark SQL: carica i dati con JDBC usando l’istruzione SQL, non il nome della tabella

Penso che mi manchi qualcosa ma non riesco a capire cosa. Voglio caricare i dati usando SQLContext e JDBC usando particolari istruzioni SQL come

select top 1000 text from table1 with (nolock) where threadid in ( select distinct id from table2 with (nolock) where flag=2 and date >= '1/1/2015' and userid in (1, 2, 3) ) 

Quale metodo di SQLContext dovrei usare? Gli esempi che ho visto specificano sempre il nome della tabella e il margine inferiore e superiore.

Grazie in anticipo.