Невозможно удалить раздел в Афине - PullRequest
1 голос
/ 22 апреля 2019

У меня плохо отформатированный раздел в Афине. Я делю разделы на год, месяц, день и час в виде целочисленных столбцов, но ошибочно создаю разделы в виде чисел с плавающей запятой.

* 1003 т.е. *

/year=2019.0/month=4.0/day=22.0/hour=6.0

вместо

/year=2019/month=4/day=22/hour=6

Я удалил ответственные файлы s3 и запустил MSCK REPAIR TABLE, но раздел не был удален. Я попытался удалить раздел вручную с помощью -

ALTER TABLE my_table DROP PARTITION (year=2019.0)
ALTER TABLE my_table DROP PARTITION (year='2019.0')

Но я получил ошибку

СБОЙ: SemanticException [Ошибка 10006]: раздел не найден (год = ноль)

Уведомление year = null. Кажется, Афина не знает, что делать с десятичными знаками.

Как мне избавиться от этого неисправного раздела?

EDIT:

Единственный способ решить эту проблему - воссоздать стол и починить его. Все еще ищу другое решение, потому что это будет облом в продукт.

1 Ответ

0 голосов
/ 22 апреля 2019

Не могли бы вы однажды попробовать с помощью этих методов отбросить все разделы:

ALTER TABLE my_table DROP PARTITION (year > 0.0);
(or)
ALTER TABLE my_table DROP PARTITION (year > 0);

(or)

Изменить datatype из year до String, затем попробуйте удалить разделы

ALTER TABLE my_table DROP PARTITION (year='2019.0')
...