hiveconf变量在哪里

时间:2017-01-27 15:00:06

标签: hive hiveql

我有一个查询

set short_string = "'M', 'C'";

select *
from db.table
where code not in (${hiveconf:short_string})

我希望它能够返回没有' M' C' C'在代码中,但这不起作用并返回所有记录。如果我写的是' M' C'一切都很好。我如何使它工作?

2 个答案:

答案 0 :(得分:2)

使用

set short_string='M', 'C';

而不是

set short_string = "'M', 'C'";

你不需要在hive变量中使用双引号,等于之后的所有内容都将成为变量的一部分。

答案 1 :(得分:0)

这对我有用:

set foo= ('This','That');

select * from <table> where <column> not in ${hiveconf:foo};

关键是你不需要用引号括住整个变量,这是一个直接的替代。