Есть ли способ динамического добавления постоянного значения ко всем записям, возвращаемым в Hive?
Я хочу сделать следующий запрос в 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;
Однако такой подход нежелателен, так как соответствующее значение будет меняться в течение дня.
Любое решение должно учитывать, будет ли оно работать подключенным к Spark через контекст Hive SQL.
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;