Hive任务报错Unexpected end of input stream
记录一个hive任务的bug , 每天执行的任务并没有做什么修改,突然有一天执行失败了。
查看日志 报错信息为javaIO错误 关键词: Unexpected end of input stream
原因:HDFS文件损坏了,或者有空文件;
处理:我的任务是6月22失败的, 查看日志锁定到可能损坏的表,查看分区为六月22日的表文件。
使用命令查看hdfs文件:hdfs dfs -ls /vcomicbi/ods/ods_event_log/dt=20220622/ 发现有大小为0的空文件删除掉重新执行任务就可以了。(一定要查找到最底层的初始表,把对应的空文件删掉)
不知道对应表所在的HDFS路径的话可以在Hive里使用 show create table +tableName查看表的HDFS文件路径