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)}"
干杯。
我的 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)}"
干杯。