0

我想在 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 中。

4

1 回答 1

0

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

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;
于 2017-10-20T04:10:17.367 回答