Я хочу извлечь одни и те же данные из базы данных на разные даты в Hive.
Теперь даты, на которые я хочу извлечь данные, - конец каждого месяца с 2015-09-30 по 2018-07-31. Я знаю, как установить дату в качестве макропеременной, чтобы, просто изменив дату, я мог выполнить весь код, но я хочу создать цикл с заданной датой начала и датой окончания, он запускает код для каждого последнего дня месяца и это дает мне один выход.
Предположим, что приведенный ниже код предназначен для извлечения одной даты и сохранен как query1:
SET obs_time='2018-07-31';
DROP TABLE IF EXISTS data_${hiveconf:Obs_Time};
CREATE TABLE data_${hiveconf:Obs_Time} AS
select * from table1 where date = ${hiveconf:Obs_Time};
и тогда я бегу:
system("nohup hive -f query1.sql")
Теперь вопрос заключается в том, как задать дату начала и дату окончания для этого кода, чтобы выбрать данные для всех промежуточных месяцев (только последний день промежуточных месяцев)?