SQL 中的 Zeppelin 动态表单下拉值

Zeppelin Dynamic Form Drop Down value in SQL

我的 Zeppelin 笔记本中有一个下拉元素

val instrument = z.select("Select Item", Seq(("A", "1"),("B", "2"),("C", "3")))

我想在我的 sql 中使用这个变量 instrument 的值。例如,我在笔记本中的下一段包含

%sql select * from table_name where item='<<instrument selected above>>'

这可能吗?如果是,语法会是什么样子?

这是完全可能的,这里有一个同时使用 %spark%sql 解释器的例子:

单元格 1:

val df = Seq((1,2,"A"),(3,4,"B"),(3,2,"B")).toDF("x","y","item")
df.registerTempTable("table_name")
val instrument = z.select("Select Item", Seq(("A", "1"),("B", "2"),("C", "3")))

单元格 2:

z.show(df.filter($"item"===instrument))

使用%sql的替代解决方案:

%sql select * from table_name where item="${item=A,A|B|C}" 

PS: instrument 设置在 B,2

其他答案没有真正解决问题,您要查找的语法是:

where item = "${Select Item=,1(A)|2(B)|3(C)}"

干杯。