Amazon web services 无法删除雅典娜中的分区

Amazon web services 无法删除雅典娜中的分区,amazon-web-services,hive,amazon-athena,Amazon Web Services,Hive,Amazon Athena,我在雅典娜有一个格式很差的分区。我将年、月、日和小时分区为整数列,但错误地将分区创建为浮动 i、 e /年=2019.0/月=4.0/天=22.0/小时=6.0 而不是 /年=2019/月=4/天=22/小时=6 我删除了s3文件并运行了一个MSCK修复表,但分区没有被删除。我尝试使用手动删除分区- ALTER TABLE my_table DROP PARTITION (year=2019.0) ALTER TABLE my_table DROP PARTITION (year='2019.0

我在雅典娜有一个格式很差的分区。我将年、月、日和小时分区为整数列,但错误地将分区创建为浮动

i、 e

/年=2019.0/月=4.0/天=22.0/小时=6.0

而不是

/年=2019/月=4/天=22/小时=6

我删除了s3文件并运行了一个
MSCK修复表
,但分区没有被删除。我尝试使用手动删除分区-

ALTER TABLE my_table DROP PARTITION (year=2019.0)
ALTER TABLE my_table DROP PARTITION (year='2019.0')
但是我弄错了

失败:SemanticException[错误10006]:未找到分区(年份=null)

注意
year=null
。雅典娜似乎不知道如何处理小数

我如何摆脱这个有问题的分区

编辑:


我能够解决这个问题的唯一方法是重新创建表并修复它。仍在寻找另一种解决方案,因为这将是产品中的一个难题。

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

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

年份的
数据类型更改为
字符串
然后尝试删除分区

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

我添加了错误日期格式的分区,由于这些分区不是有效日期,因此无法删除。将Glue中模式中的类型更改为“string”允许我删除分区。在那之后,我可以改回最新版本。希望有关胶水的额外信息对您有所帮助,谢谢!我有一个类似的问题,但我的分区键是时间戳格式的,我不小心创建了一个带有字符串值的分区。在我的例子中,工作了
ALTER TABLE my_TABLE DROP PARTITION(PARTITION_key=“”)
(错误的值是非空字符串),然后
MSCK修复表my_TABLE
。看起来雅典娜不知何故解释了空字符串并删除了损坏的分区。