使用JDBC连接器读取spark中MySQL表的一部分



我正在尝试使用pyspark中的JDBC连接器从MySQL数据库读取一个表。我读取表格的脚本是:

query = "SELECT * FROM C WHERE hitId = 4235441"
readConfig = {
"driver": driver,
"url": url,
"dbtable": tableName,
"user": user,
"password": password,
"query_custom": query
}
saveLocation = mountPoint + "/" + tableName
print(saveLocation)
readDF = spark.read.format("jdbc").options(**readConfig).schema(tableSchema).load()
readDF.write.format("delta").option("mergeSchemas", "True").mode("overwrite").save(saveLocation)

我试图只读取hitId为4235441的特定行。

问题是,仍然读取整个表,而不是满足自定义查询的行任何人都可以指出我的脚本中的错误,或者是否有人知道实现目标的其他方法

我被困了很长一段时间,所以我们非常感谢您的帮助。

dbtable选项附近的readConfig中,您正在指定表名。相反,请尝试像下面的一样指定query

query = "SELECT * FROM C WHERE hitId = 4235441"
readConfig = {
"driver": driver,
"url": url,
"dbtable": query,
"user": user,
"password": password,
}

最新更新