首页 > 解决方案 > 计算 hive 1.2.1 中已删除分区的静态数据

问题描述

我有一个功能,我想从分区中删除数据。如果所有数据都被删除,那么也删除分区。以下是我们找到的步骤:

当我们执行选择查询时,它向我显示已删除分区的错误。即使我们调用计算统计,它仍然显示分区不存在。我想念什么吗?

我们尝试通过一些代码更改来计算统计信息,但它不起作用。以下是我们遵循的步骤:

如果分区被删除,那么下面是我们接下来的两个步骤:

ALTER TABLE transactions DROP IF EXISTS PARTITION (eventday=" + eventDay + ")
ALTER TABLE transactions ADD IF NOT EXISTS PARTITION (eventday=" + eventDay + ")

每次都会执行这些步骤:

ANALYZE TABLE transactions PARTITION(eventday=" + eventDay + ") COMPUTE STATISTICS FOR COLUMNS
ANALYZE TABLE transactions PARTITION(eventday=" + eventDay + ") COMPUTE STATISTICS

预期结果是避免此异常,因为分区不可用,但对于删除分区的选择查询,它显示此错误。

java.sql.SQLException:查询失败(#20190619_060000_00416_bztpj):分区位置不存在:hdfs://XXXX/XX/XX

标签: hivepresto

解决方案


推荐阅读