amazon-web-services - 无法删除 Athena 中的分区
问题描述
我在 Athena 中有一个格式不正确的分区。我将年、月、日和小时分区为整数列,但错误地将分区创建为浮点数。
IE
/year=2019.0/month=4.0/day=22.0/hour=6.0
代替
/year=2019/month=4/day=22/hour=6
我删除了负责的 s3 文件并运行了 aMSCK 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
。雅典娜似乎不知道如何处理小数。
如何摆脱这个错误的分区?
编辑:
我能够解决这个问题的唯一方法是重新创建表并修复它。仍在寻找另一种解决方案,因为那将是一个无赖。
解决方案
您能否尝试使用这些方法删除所有分区:
ALTER TABLE my_table DROP PARTITION (year > 0.0);
(or)
ALTER TABLE my_table DROP PARTITION (year > 0);
(or)
datatype
将of更改year
为String
然后尝试删除分区
ALTER TABLE my_table DROP PARTITION (year='2019.0')
推荐阅读
- java - Java 内部的异常处理是如何工作的?
- sql - 如何提取组出现超过一定次数的行
- android - 如何从原始印象笔记中检索我的信息
- azure-logic-apps - 逻辑应用程序 - 获取电子邮件 (V3) 限制为 25 封电子邮件
- html - 有没有办法在现有选择器中定义媒体查询?
- sql - 使用 powershell 将数百万条记录转换并插入到多个表中
- php - 带有固定标题的可滚动 PHP“生成”表
- angularjs - 如何将类成员变量传递给另一个组件角度?
- django - 如何在 django 中协调两个第三方应用程序中的共享 applabel?
- android - 运行命令时遇到内部错误:错误:无法从“..ApiDemos.apk”中提取清单。它是一个有效的 Android 应用程序吗?