无法删除雅典娜分区

时间:2019-04-22 01:59:33

标签: amazon-web-services hive amazon-athena

我的雅典娜分区格式不正确。我将年,月,日和小时划分为整数列,但错误地将其创建为浮点数。

/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]:找不到分区(年份= null)

通知year = null。雅典娜似乎不知道该如何处理小数点。

如何摆脱这个错误的分区?

编辑:

我能够解决此问题的唯一方法是重新创建表并对其进行修复。仍在寻找另一种解决方案,因为这可能会在产品中大跌眼镜。

1 个答案:

答案 0 :(得分:0)

您是否可以尝试使用以下方法删除所有分区:

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')