Манипулирование запросами куста для отсутствующих данных, не произведенных в нерабочие дни (выходные и праздничные дни) - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть запрос, касающийся некоторых изменений моего запроса Hive в соответствии с требованием, определенным ниже; я не мог обдумать это.

Случай: данные генерируются только в рабочие дни, то есть в будние и нерабочие дни. Эти данные я загружаю в Hive. Источником и целью являются HDFS.

Строгий процесс: данные должны копироваться каждый день. Итак, для субботы и воскресенья я скопирую те же данные пятницы. То же самое в случае государственных праздников.

Текущий процесс: на данный момент я выполняю его вручную для загрузки данных выходных.

Требование: мне нужно автоматизировать это в самом запросе.

Есть предложения? Если это возможно, то приветствуется и решение в искре.

1 Ответ

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

Хотя понятно, в чем проблема, неясно, когда вы говорите «в самом запросе».

Два варианта

  1. При запросе результатов ищите данные, используя скалярный подзапрос (используя Impala), который сначала ищет максимальную дату относительно данной выбранной даты, т.е.max меньше или равно указанной дате;таким образом, нет репликации.

  2. В противном случае используйте планирование и, когда запланировано, а) проверьте дату выходных в Linux или через SQL, б) ведите таблицу дат выходных и проверяйте существование.Если одно или оба условия выполняются, то скопируйте из существующих данных согласно пункту 1, в котором выберите дату сегодня, в противном случае выполните обычную обработку.

Обратите внимание, что вам может потребоваться принятьчто вы выполняете обработку, чтобы наверстать упущенное из-за какой-то ошибки.Предполагает некоторую логику управления, но является более надежной.

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