在 Apache Spark 2.0.0 中从外部数据库获取查询结果
在 Apache Spark 2.0.0 中,可以检索结果来自外部数据库的一组查询,而不是加载整个表。
在提供的 PySpark 中例如,df DataFrame 是通过使用 JDBC 连接器从 MySQL 表读取数据来创建的。但是,要仅获取特定查询的结果,您可以在 read 方法中将子查询指定为 dbtable 参数。
以下代码演示了如何获取查询 SELECT foo, bar FROM 的结果集schema.tablename:
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", "(SELECT foo, bar FROM schema.tablename) AS tmp")\ .option("user", "username")\ .option("password", "password")\ .load()
通过使用这种方法,Spark 将在外部数据库上执行子查询,并仅将结果数据加载到 DataFrame 中。当您只需要表中的数据子集时,这对于优化性能和减少数据传输非常有用。
以上是如何在 Apache Spark 2.0.0 中从外部数据库获取特定查询结果?的详细内容。更多信息请关注PHP中文网其他相关文章!