我们的hadoop集群存在数据损坏问题。我们在配置单元上有一个托管表,其中包含按年划分的三年数据。
以下两个查询运行正常,没有任何问题
select count(*) from tkt_hist table where yr=2015
select count(*) from tkt_hist table where yr=2016
select count(*) from tkt_hist table where yr=2017
但是,当我们每年尝试进行分组时,会显示以下错误。
Error while compiling statement: FAILED: SemanticException java.io.FileNotFoundException: File hdfs://ASIACELLHDP/apps/hive/warehouse/gprod1t_base.db/toll_tkt_hist_old/yr=2015/mn=01/dy=01 does not exist. [ERROR_STATUS]
当我们指定2015年以外的年份时,即使选择也不起作用。
//this works fine
Select * from tkt_hist where yr=2015 limit 10;
// below throws same error mentioned above.
Select * from tkt_hist where yr=2016;