Есть ли способ динамического добавления постоянного значения ко всем записям, возвращаемым в 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;
Другие вопросы по тегам