zeppelin 的 SQL 查询变量使用方法

Apache Zeppelin 支持使用变量(Dynamic Forms)来动态改变查询的参数。在 Zeppelin 中,可以使用两种类型的变量,即文本输入和选择框。

  1. 文本输入:这种类型的变量可以在 SQL 查询中使用 ${variable_name} 格式来声明。当 Zeppelin 解析到这个语法时,它会自动在笔记顶部添加一个文本输入框。

例子:

%sql
SELECT * FROM table WHERE column = '${variable_name}'
  1. 选择框:这种类型的变量可以在 SQL 查询中使用 ${variable_name=value1,value2,value3} 格式来声明。当 Zeppelin 解析到这个语法时,它会自动在笔记顶部添加一个下拉选择框。

例子:

%sql
SELECT * FROM table WHERE column = '${variable_name=value1,value2,value3}'

以上两种变量类型,你可以在查询中混合使用。当你改变变量的值时,Zeppelin 会自动更新和运行 SQL 查询。

注意:Zeppelin 的 SQL 查询变量只能在 Zeppelin 的 SQL 解释器(如 %sql、%hive、%phoenix、%jdbc、%tajo、%cassandra 等)中使用。在其他类型的解释器中(如 %spark、%pyspark、%python、%r、%sh 等)是不能使用的。