可以在hive中看到数据库和空表,但不能在web ui文件系统中看到

zujrkrfu  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(348)

我有一个名为default和test user的数据库 /user/hive/warehouse/ 我在和 --delete-target-dir 不幸的是,在sqoop中删除了两个数据库,所以表也不见了。
幸运的是,我已经备份了所有的东西,而且那些数据库中没有太多东西。所以我试着再次创建这两个数据库,它说那些名字的数据库已经存在了。所以我试着在Hive终端中查看那些数据库和表。我可以使用 show databases; 以及 show tables; 但table是空的。
我也试着用 desc database default 以及它显示的位置,我无法在web ui文件系统上看到它们。
有办法让他们回来吗?或者我应该删除数据库并用表重新创建它们?
我正在使用 Hadoop 2.6.0-cdh5.10.0 先谢谢你。

aamkag61

aamkag611#

数据不见了,元数据也不见了。
数据库和表定义仍然存储在metastore中,指向不存在的位置。
如果垃圾箱功能打开,您的数据可能仍然存在(移动到另一个位置,而不是立即删除)。
如果是的话,那就在 /user/{The user who owned the data}/.Trash .
检查 fs.trash.interval 以及 fs.trash.checkpoint.interval .
fs.垃圾箱间隔
删除检查点后的分钟数。如果为零,则垃圾箱功能被禁用。此选项可以在服务器和客户端上配置。如果垃圾箱在服务器端被禁用,则检查客户端配置。如果在服务器端启用垃圾箱,则使用服务器上配置的值,而忽略客户端配置值。
fs.trash.checkpoint.interval文件
垃圾检查站之间的分钟数。应小于或等于fs.trash.interval。如果为零,则该值设置为fs.trash.interval的值。每次运行检查点程序时,它都会在当前检查点之外创建一个新的检查点,并删除超过fs.trash.interval分钟前创建的检查点。
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml

相关问题