为什么总是显示缺少1个必需位置参数的错误:在使用pyspark SQLContext.sql()时使用“sqlQuery”?

liwlm1x9  于 2023-02-07  发布在  Spark
关注(0)|答案(1)|浏览(171)

正如标题所提到的,我尝试在pyspark中使用SQL来操作MySQL中的数据,但我不知道为什么我已经将查询设置为如下所示,但总是显示错误“缺少1个必需的位置参数:“sqlQuery'"。有没有人对这个问题有什么想法,可以和我分享解决方案?我将非常感谢。谢谢。

url = 'jdbc:mysql://localhost:3306/test_db'

df = spark.read.jdbc(url=url, table='test_data', properties=prop)

df.createTempView('example')

query = """SELECT * FROM example WHERE 'record date' BETWEEN '2020-09-05' AND '2020-09-18'"""

df2 = SQLContext.sql(query)

df2.collect()
qco9c6ql

qco9c6ql1#

错误消息“缺少1个必需的位置参数:“sqlQuery'"是因为您尝试在类SQLContext上调用方法sql,而不是在该类的示例上调用方法sql。若要更正此问题,您需要创建SQLContext的示例,并在该示例上调用sql:

from pyspark.sql import SQLContext

sqlContext = SQLContext(spark)
df2 = sqlContext.sql(query)
df2.collect()

相关问题