问题:
在hdfs上删掉了表的分区目录后,向表中插入不了数据。
删掉了NameNode里的表里面的分区目录,表里面的分区目录是元数据,删掉之后就是删掉了元数据
此时再向表中导入数据时报错:MoveTask.Exception
show partitions dwd_coupon_use ,显示分区存在
原因:
导入数据时先将表目录里的数据删掉,再将临时目录里已经计算生成的数据移到到表目录里,而此时已经删掉了分区目录,所以是无法移动的;且分区目录是第一次向分区插入数据时创建,而此时分区是存在的,所以就无法自动创建分区目录,所以在移动数据的时候就报了MoveTask.Exception。
解决:
如果删掉的只是部分分区目录,可以自己创建删掉的分区目录,如果分区目录都删掉了,就删掉表重新创建表。