【发布时间】:2021-08-04 15:50:50
【问题描述】:
我正在使用 DBVisualiser 运行以下脚本(期望在查询中传递变量并根据 where 条件检索数据)
set Id='1';
select * from MyTable where account_id = '${hivevar:Id}' limit 5
不幸的是,当我运行这个脚本时,我看到执行的查询如下:
set Id='1';
select * from mytable where account_id = '${hivevar:Id}' limit 5
但是当我使用硬编码值运行查询时
select * from mytable where account_id = '1' limit 5
然后我得到预期的数据集。 如果有人可以帮助我了解我做错了什么,我会很高兴。
提前致谢。
【问题讨论】:
-
在 DbVisualizer 中,您需要使用另一种语法:
select * from mytable where account_id = '${id||1' limit 5;。阅读更多:confluence.dbvis.com/display/UG/Using+DbVisualizer+Variables
标签: variables hive parameter-passing hiveql dbvisualizer