[Error Code: 0, SQL State: HY000] Disk I/O error: Failed to open HDFS file

impala上tdm庫的order表的某月數據有異常,需要重新上傳,order表是按年、月、日分區的parquet文件格式存儲數據的;
20200501那天真實情況是沒有數據的,但是因爲異常操作導致混入了日期爲20200501的數據,後面再insert overwrite table tdm.order時 因爲分區的原因,已經混入的20200501這天的數據(因爲沒有真實數據,所以並沒有覆蓋這個分區),需要手動刪除 這個分區下的文件。
手動刪除hdfs目錄下的文件: hdfs dfs -rm -r /user/hive/warehouse/tdm.db/order/dt_year_id=2020/dt_month_id=202005/dt_day_id=20200501*
手動刪除分區:alter table tdm.order partition(dt_day_id=20200501);
查看已有分區:show partition tdm.order;
最後用SQL查詢 select count(*) from tdm.order where dt_month_id=202005; 竟報錯[Error Code: 0, SQL State: HY000] Disk I/O error: Failed to open HDFS file
最後全表刷新了下 執行:invalidate metadata tdm.order 問題解決,查詢不報錯了。

drop table table_name;  --hive刪除表  
truncate table table_name;  --hive刪除表中數據
alter table table_name drop partition (partition_name=分區名) ; -- hive按分區刪除數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章