hive外部表删除遇到的一个坑
操作步骤
- 创建某个表(
create external table xxx location xxx
) - 插入数据(
insert xxx select xxx from xxx
) - 删除表(
drop table xxx
) - 重新创建
- 插入数据
- 查询数据
现象
- 查询数据发现部分第一次插入的数据
- 查询数据量发现大于第二次插入的数量
原因
与其说是坑,不如说是自己忽略了一点:
- 插入的是外部表,当drop表之后,数据并没有删除
- 第二次创建表location指向的还是原来的位置
- 也就导致了上述的问题
所以,如果外表想重建并且指向原来的位置,需要注意不要忘记删掉原来位置的文件