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

Spark Sql query works with hardcoded value but not with variable

我有一个 PySpark 程序,其中有一个 SQL 查询,如下所示:

id = 'abc1'

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

此查询无效。我返回一组空白值。但是,如果我对该值进行硬编码,它就可以工作。

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

我试过 str(id) 只是为了确定。我该如何解决?

使用 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}'")