我正在处理databricks,并尝试将python变量传递到sql查询中:
series_name "LogTest" query = """SELECT * FROM results_table WHERE name = $series_name """ spark.sql(query).toPandas()
我试过了 $ 但它不起作用。我该怎么做?当做
$
dddzy1tm1#
在本例中,变量和查询只是字符串。你可以做:
query = f"""SELECT * FROM results_table WHERE name = '{series_name}' """
... 在python3中。请记住,查询字符串需要在插入的变量周围加单引号。但是,对于某些变量,您可能需要将变量直接传递给spark模块,以便它能够解释它。我经常使用pyodbc,会这样做:
query = f"""SELECT * FROM results_table WHERE name = ?""" cursor.execute(query, series_name)
rkkpypqq2#
下面的步骤也会起作用,
series_name = "LogTest" spark.sql("SELECT * FROM results_table WHERE name = " + series_name).toPandas()
brvekthn3#
我们也可以尝试以下方法。
series_name = "LogTest" query = "SELECT * FROM results_table WHERE name = {}".format(series_name) spark.sql(query).toPandas() #
3条答案
按热度按时间dddzy1tm1#
在本例中,变量和查询只是字符串。你可以做:
... 在python3中。请记住,查询字符串需要在插入的变量周围加单引号。但是,对于某些变量,您可能需要将变量直接传递给spark模块,以便它能够解释它。我经常使用pyodbc,会这样做:
rkkpypqq2#
下面的步骤也会起作用,
brvekthn3#
我们也可以尝试以下方法。