Вычисление статики для удаленного раздела в улье 1.2.1 - PullRequest
1 голос
/ 19 июня 2019

У меня есть функциональность, где я хочу удалить данные из раздела. Если все данные удалены, удалите также и раздел. Ниже приведены шаги, которые мы находим:

  • Поиск данных для раздела на основе даты.
  • Удалить данные из раздела
  • Проверьте, присутствуют ли какие-либо записи, если присутствует, выполняет вычислительную статистику. Для столбцов.
  • Если нет записей, удалите раздел и выполните статистику вычислений.

Когда мы выполняем запрос на выборку, он показывает ошибку для удаленного раздела. Даже если мы вызываем статистику вычислений, она показывает, что раздела не существует. Я что-то пропустил?

Мы пытались вычислить статистику с некоторыми изменениями кода, но она не будет работать. Ниже приведены шаги, которые мы выполняем:

Если раздел удален, ниже приведены следующие 2 шага, которые мы выполняем:

ALTER TABLE transactions DROP IF EXISTS PARTITION (eventday=" + eventDay + ")
ALTER TABLE transactions ADD IF NOT EXISTS PARTITION (eventday=" + eventDay + ")

Эти шаги выполняются каждый раз:

ANALYZE TABLE transactions PARTITION(eventday=" + eventDay + ") COMPUTE STATISTICS FOR COLUMNS
ANALYZE TABLE transactions PARTITION(eventday=" + eventDay + ") COMPUTE STATISTICS

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

java.sql.SQLException: сбой запроса (# 20190619_060000_00416_bztpj): расположение раздела не существует: hdfs: // XXXX / XX / XX

...