1.problem:hive sql : drop table A,当重新create table A,发现table A中是有数据的,就是drop前A表中原来的数据。
solution:
当我们drop table的时候,hive会把table的metadata删除掉,但是table的数据文件在移到垃圾桶中可能会失败(这个失败并不会告诉我们)。这个时候,我们就需要检查hadoop fs
-ls /user/<user>/.Trash的权限。确保我们的<user>有足够的权限。
当然,如果我们hadoop fs -ls /user/<user>/.Trash发现没有这个文件,这就说明我们的hadoop没有开启这个功能。这个时候我们可以通过SET fs.trash.interval =30; DROP TABLE <table>;来临时规定个时间来drop table。如果这个有效,我们就可以在core-site.xml配置,使fs.trash永久生效。