我在雅典娜有一个格式不佳的分区。我将年,月,日和小时划分为整数列,但错误地将分区创建为浮点数。
即
/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')
但我得到了错误
FAILED:SemanticException [错误10006]:找不到分区(year = null)
注意year = null
。似乎雅典娜不知道如何处理小数。
如何摆脱这个错误的分区?
编辑:
我能够解决这个问题的唯一方法是重新创建表并进行修复。仍在寻找另一种解决方案,因为这将是一个令人失望的产品。
您是否可以尝试使用这些方法删除所有分区:
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')