En Apache Spark 2.0.0, ¿es posible obtener una consulta de una base de datos externa (en lugar de tomar toda la tabla)?

Usando pyspark:

from pyspark.sql import SparkSession spark = SparkSession\ .builder\ .appName("spark play")\ .getOrCreate() df = spark.read\ .format("jdbc")\ .option("url", "jdbc:mysql://localhost:port")\ .option("dbtable", "schema.tablename")\ .option("user", "username")\ .option("password", "password")\ .load() 

En lugar de buscar “schema.tablename”, preferiría obtener el conjunto de resultados de una consulta.

Igual que en 1.x puede pasar una subconsulta válida como argumento dbtable por ejemplo:

 ... .option("dbtable", "(SELECT foo, bar FROM schema.tablename) AS tmp") ...