Spark Sql查询使用硬编码值但不使用变量

时间:2017-12-06 13:27:55

标签: python apache-spark pyspark pyspark-sql

我有一个PySpark程序,其中有一个像这样的SQL查询:

id = 'abc1'

info = sqlc.sql("SELECT * from df WHERE isn = 'id'")

此查询不起作用。我带着一组空白的值返回。但是,如果我对该值进行硬编码,则可以正常工作。

info = sqlc.sql("SELECT * from df WHERE isn = 'abc1'")

我已经尝试str(id)只是为了确定。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

在Python 3.5或之前使用格式:

info = sqlc.sql("SELECT * from df WHERE isn = '{id}'".format(id=id))

info = sqlc.sql("SELECT * from df WHERE isn = '{}'".format(id))

Python 3.6及更高版本中的文字字符串格式:

info = sqlc.sql(f"SELECT * from df WHERE isn = '{id}'")
相关问题