Impala查询-compute incremental stats databsename.table name失败

Impala查询-compute incremental stats databsename.table name失败,impala,Impala,我们将数据从netezza到hadoop非分区表,然后使用插入覆盖方法从非分区到分区。在此之后,我们将在分区表上运行databasename.tablename的compute incremental stats,但对于某些分区,此查询失败,出现错误 无法执行命令:计算增量统计数据,并且分区目录中的某些文件没有此类文件或目录 您可以在计算统计数据之前运行refresh语句来立即刷新元数据。即使refresh语句返回代码为0,也可能需要等待几秒钟才能计算stats,因为过去的经验表明,即使给出了返

我们将数据从
netezza
hadoop
非分区表,然后使用插入覆盖方法从非分区到分区。在此之后,我们将在分区表上运行databasename.tablename的compute incremental stats,但对于某些分区,此查询失败,出现错误

无法执行命令:计算增量统计数据,并且分区目录中的某些文件没有此类文件或目录


您可以在计算统计数据之前运行refresh语句来立即刷新元数据。即使refresh语句返回代码为0,也可能需要等待几秒钟才能计算stats,因为过去的经验表明,即使给出了返回代码,元数据仍在刷新。除非脚本按顺序执行这些命令,否则通常不会看到此问题

refresh yourTableName
compute stats yourTableName
从Impala 2.3开始,您还可以使用alter table recover分区,而不是刷新元数据或修复表

alter yourTableName recover partitions
compute stats yourTableName

感谢您的回答。在运行stats语句之前,我们正在运行invalidate metadata,但它不起作用,但当我们尝试在计算增量stats tableName之前刷新tableName时,它开始工作正常。在遇到这种情况后,我改进了答案。修复表可以很好地使用新分区更新元存储。