我具有要从分区中删除数据的功能。如果删除了所有数据,则也要删除该分区。 以下是我们找到的步骤:
当我们执行选择查询时,它向我显示删除分区的错误。 即使我们称为计算统计信息,仍然表明该分区不存在。 我想念什么吗?
我们尝试通过一些代码更改来计算统计信息,但是它不起作用。以下是我们要执行的步骤:
如果删除了分区,则接下来的两个步骤如下:
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