我正在尝试使用下面的查询设置hivevar。但是当我在以后的查询中使用它时,它无法检测到日期。
set hivevar:curr_date = select date_sub(max(partition_date), 1) from mytable;
select * from mytable where partition_date = '${curr_date}' limit 10;
No Results
但是,当我硬编码hivevar时,它就工作了
set hivevar:curr_date = '2017-03-11';
select * from mytable where partition_date = '${curr_date}' limit 10;
结果:
partition_date cookie userid value
2017-03-11 015ABF9C4C6601016574F15E684C8F14 b1a19464f74d6 Melrose
1条答案
按热度按时间osh3o9ms1#
配置单元变量不过是一种文本替换机制。
替换是在解析和执行之前完成的。
可以通过shell将查询结果作为参数传递给另一个查询,例如-