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}'")
我有一个 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}'")