динамически генерировать запрос на основе текущей даты - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть внешняя таблица mytable.В Airflow запланировано задание, которое подбирает файл SQL и выполняет его один раз в день.

Ежедневно мне нужно добавить в таблицу раздел, соответствующий этому дню.Поэтому для 2019-09-27 мне нужно будет выполнить

ALTER TABLE MYTABLE ADD PARTITION(year=2018,month=9,day=27,ts=1538006400) location '/path/to/data/20180927/'

. Я могу получить год / месяц / день, используя SELECT year/month/day(current_date), а метку времени - select unix_timestamp(CURRENT_DATE, 'yyyy-MM-dd'), но как мне написать SQLзапрос, который будет генерировать весь ALTER TABLE... ADD PARTITION запрос, как указано выше?

Сценарии - это простой способ, но мне нужно, чтобы это было сделано только в SQL.

1 Ответ

0 голосов
/ 28 сентября 2018

Hive conf имеет переменную для текущей даты current_date, которую вы можете использовать как

ALTER TABLE MYTABLE ADD PARTITION (ts= '${hiveconf:current_date}')

функции current_date теперь доступна в Hive 1.2.0 и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...