zeppelin 的 SQL 查询变量使用方法
Apache Zeppelin 支持使用变量(Dynamic Forms)来动态改变查询的参数。在 Zeppelin 中,可以使用两种类型的变量,即文本输入和选择框。
- 文本输入:这种类型的变量可以在 SQL 查询中使用
${variable_name}格式来声明。当 Zeppelin 解析到这个语法时,它会自动在笔记顶部添加一个文本输入框。
例子:
%sql
SELECT * FROM table WHERE column = '${variable_name}'
- 选择框:这种类型的变量可以在 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 等)是不能使用的。