databricks sql分析中的参数

Posted

技术标签:

【中文标题】databricks sql分析中的参数【英文标题】:parameter in databricks sql analytics 【发布时间】:2021-09-14 07:52:13 【问题描述】:

我有一张这样的桌子

name value1 value2
john a x
kevin b y
larry c z

我想传递带有下拉值 a,b,c,all 的参数,如果用户选择 a,则输出是第一行,或者如果用户选择全部,则输出也是所有三行。 请提出建议。

【问题讨论】:

【参考方案1】:

PySpark 中的解决方案:

Choise_List = map(lambda x: str(x[0]), <Dataframe_Name>.select("value1").distinct().collect()) 
dbutils.widgets.dropdown("a", "a", Choice_List)

注意: 更改为您的实际数据框名称。

【讨论】:

谢谢。但我正在 Databricks 的 SQL Analytics 中寻找 sql。想不出办法。 请尝试docs.microsoft.com/en-us/azure/databricks/notebooks/… 这适用于笔记本,不适用于 SQLA【参考方案2】:

您需要关注documentation on creating the parameters for Databricks SQL。编辑查询时,单击 图标将新参数插入查询,然后选择“下拉列表”作为“类型”,并输入可能的值。如果要允许选择多个值,请选中“允许多个值”复选框。如果您使用的是字符串、时间戳或日期,请从“报价”下拉列表中选择相应的值:

然后将您的查询修改为类似(actions 是参数的名称):

where action in ( actions )

然后您可以从下拉列表中选择必要的值:

查询的执行应该会给你这样的结果:

【讨论】:

以上是关于databricks sql分析中的参数的主要内容,如果未能解决你的问题,请参考以下文章

R中databricks中的SQL雪花查询

SQL 语句中的 Databricks 错误:AnalysisException:无法解析 '``' 给定的输入列:

如何从 Databricks 中的 SQL 语句输出创建变量

Databricks/Spark SQL 中的反透视表

如何计算 Spark SQL(Databricks)中表中的列数?

使用python截断Databricks中的增量表