amazon-web-services - 无法在 Athena 中删除分区

标签 amazon-web-services hive amazon-athena

我在 Athena 中有一个格式不正确的分区。我将年、月、日和小时分区为整数列,但错误地将分区创建为 float 。

/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 [Error 10006]: Partition not found (year = null)

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

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

编辑:

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

最佳答案

你能不能试试用这些方法删除所有分区:

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

(或)

yeardatatype 更改为 String 然后尝试删除分区

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

关于amazon-web-services - 无法在 Athena 中删除分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55788318/

相关文章:

java - 如何通过 Java SDK 设置 AWS S3 对象重定向

hadoop - 如何安全更新配置单元外部表

amazon-web-services - AWS Athena 导入 CSV 文件

hive - AWS 雅典娜 : does `msck repair table` incur costs?

linux - AWS EC2 Web 服务器权限被拒绝

tomcat - 在 aws apache tomcat 上部署并运行 war 文件

hadoop - Hive 操作失败,主类 [org.apache.oozie.action.hadoop.HiveMain],退出代码 [40000]

SQL COUNT(DISTINCT(field1)) GROUP BY MAX(filed2)

javascript - 在客户端使用 Amazon Simple Notification Service (SNS)

hadoop - 使用 Spark 在 HQL 中进行 CRUD 操作