在spark sql语句中分配widget值

问题描述 投票:0回答:1

如何在 Spark sql 语句中添加我在小部件中输入的值

it_flex_range = dbutils.widgets.get("it_flex_range")
iv_werks=dbutils.widgets.get("Plants")  

如何在下面的语句中添加从小部件获得的上述值

mt_flex_1= spark.sql("select * from table name where flexcell = lit(dbutils.widgets.get("it_flex_range") and werks = lit(dbutils.widgets.get("iv_werks")")
dataframe pyspark apache-spark-sql widget databricks
1个回答
1
投票

如果您直接使用spark-sql,您可以按照以下链接中的步骤操作

https://docs.databricks.com/notebooks/widgets.html#using-widget-values-in-spark-sql

如果在 python/pyspark 代码中使用,您可以使用前面建议的 format() 或 f-string...因为我没有表,只需将它们包含在 select 语句中...

dbutils.widgets.text("it_flex_range", "default_it_flex", label = "it_flex_range")
dbutils.widgets.text("Plants", "default_Plants", label = "Plants")
it_flex_range = dbutils.widgets.get("it_flex_range")
iv_werks=dbutils.widgets.get("Plants")
                    
mt_flex_1= spark.sql(f"select '{it_flex_range}', '{iv_werks}'")
mt_flex_1.show()
+---------------+--------------+
|default_it_flex|default_Plants|
+---------------+--------------+
|default_it_flex|default_Plants|
+---------------+--------------+
© www.soinside.com 2019 - 2024. All rights reserved.