可以在配置单元中查看数据库和空表,但不能在WEB UI文件系统上查看

时间:2017-07-07 00:12:18

标签: hadoop hive hdfs

我有一个名为default和test user /user/hive/warehouse/的数据库,我在sqoop中弄乱了--delete-target-dir,遗憾的是删除了两个数据库,因此表格也消失了。

幸运的是,我支持所有内容,而且这些数据库中没有太多内容。所以我试图再次创建两个数据库,它说具有这些名称的数据库已经存在。所以我试着在蜂巢终端中看到那些数据库和表。我可以在配置单元中使用show databases;show tables;查看数据库中的数据库和所有表,但表是空的。

我还尝试使用desc database default及其显示的位置,我无法在WEB UI文件系统中看到它们。

有没有办法让他们回来?或者我应该删除数据库并使用表重新创建它们?

我正在使用Hadoop 2.6.0-cdh5.10.0

提前谢谢。

1 个答案:

答案 0 :(得分:3)

  1. 数据消失了,而不是元数据 数据库和表定义仍存储在Metastore中,指向不存在的位置。

  2. 如果启用了回收功能,您的数据可能仍然存在(移动到其他位置而不是立即删除)。
    如果是,则会在/user/{The user who owned the data}/.Trash下 检查fs.trash.intervalfs.trash.checkpoint.interval

  3. 的值
      

    <强> fs.trash.interval

         

    删除检查点的分钟数。如果为零,   垃圾桶功能已被禁用。此选项可以同时配置   服务器和客户端。如果垃圾邮件被禁用服务器端那么   检查客户端配置。如果启用了垃圾箱   服务器端然后使用服务器上配置的值和   客户端配置值被忽略。

         

    <强> fs.trash.checkpoint.interval

         

    垃圾检查点之间的分钟数。应该更小或   等于fs.trash.interval。如果为零,则将值设置为值   fs.trash.interval。每次checkpointer运行时,它都会创建一个新的   检查点超出当前状态并删除创建的检查点   fs.trash.interval分钟前。

         

    https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml