我已经在互联网上进行了深入的搜索,但我无法找到任何合适的答案。
在hive中,是否可以声明一个变量,比如说:
test = 1
如何在查询中更改此变量的值?
select
case
when field > 1 then test = test+1
else test = 1
end as test
from my table
我已经在互联网上进行了深入的搜索,但我无法找到任何合适的答案。
在hive中,是否可以声明一个变量,比如说:
test = 1
如何在查询中更改此变量的值?
select
case
when field > 1 then test = test+1
else test = 1
end as test
from my table
有可能。请查看以下代码以在Hive中创建一个变量。
hive> SET cust_id = 1234567890;
创建变量后,您可以在查询中像下面这样使用它。
hive> select * from cust_table where customer_id = '${hiveconf:cust_id}';
希望这可以帮助你。 现在你可以将其应用到你的场景中。
SET col_name = order_id; SELECT customer_id, ${hiveconf:col_name} from database.table_name;
假设表中有order_id列,则返回表的customer_id和order_id列。请注意,在分配变量时,赋值的值没有引号。 - Adiga