一尘不染

在Apache Spark 2.0.0中,是否可以从外部数据库中获取查询(而不是获取整个表)?

mysql

使用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()

与其获取“ schema.tablename”,不如获取一个查询的结果集。


阅读 234

收藏
2020-05-17

共1个答案

一尘不染

与1.x中的相同,您可以传递有效的子查询作为dbtable参数,例如:

...
.option("dbtable", "(SELECT foo, bar FROM schema.tablename) AS tmp")
...
2020-05-17