有没有办法动态地为Hive中返回的所有记录添加常量值?

时间:2017-10-20 04:02:51

标签: sql hive mapreduce hiveql apache-tez

我想在Hive v1.2.1中执行以下查询,其中从另一个表中查询field_3

select user_id, start_date, field_3 as stop_date
from some_table;

对于返回的每条记录,field_3的值都相同。问题是它存储在另一个表中。要获得该值,我可以按如下方式获得。

select max(some_field) as stop_date
from another_table;

目前,我已对文字进行了硬编码。

select user_id, start_date, cast(cast('2017-10-19' as date) as timestamp) as stop_date
from some_table;

然而,这种方法是不可取的,因为适当的值会在一整天内发生变化。

任何解决方案都应该考虑它是否可以通过Hive SQL上下文插入到Spark中。

1 个答案:

答案 0 :(得分:1)

您可以加入另一个表的输出..

select user_id, start_date, b.field_3 as stop_date FROM 
some_table a,
( select max(some_field) as field_3 
from another_table ) b;