在sql中声明变量(配置单元)

wos*_*tom 4 sql variables hive

我对互联网进行了深入了解,但是找不到任何合适的答案。

在蜂巢中,是否可以声明一个变量,可以这样说:

test = 1
Run Code Online (Sandbox Code Playgroud)

并在查询中更改此变量的值?

select
   case
      when field > 1 then test = test+1
      else test = 1
   end as test
from my table
Run Code Online (Sandbox Code Playgroud)

Man*_*dar 5

有可能。请找到以下代码以在Hive中创建变量。

hive> SET cust_id = 1234567890;
Run Code Online (Sandbox Code Playgroud)

创建变量后,您可以在查询中使用它,如下所示。

hive> select * from cust_table where customer_id = '${hiveconf:cust_id}';
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你。现在,您可以将其应用于您的方案。

  • 谢谢你的回答!这也有效:set ids = 1,2,3; select * from users where id in (${hiveconf:ids}); (2认同)