关于:linux重启后,hadoop中的表文件存在,但是hive中的表和库却不存在了的解决办法
最近想练练hive,就整了个linux的虚拟机,然后配置了单机的hadoop,下载了hive,在里面建了一个test库,库里建了几张表。 虚拟机因为点问题,强制重启了一下。重启以后,进入hive,show databases; ...
最近想练练hive,就整了个linux的虚拟机,然后配置了单机的hadoop,下载了hive,在里面建了一个test库,库里建了几张表。
虚拟机因为点问题,强制重启了一下。重启以后,进入hive,
show databases;
我建的库呢????我建的表呢???
(;°○° )
(゚Д゚≡゚д゚)!?
(╯`□′)╯( ┴—┴
┻━┻︵╰(‵□′)╯︵┻━┻
°(°ˊДˋ°) °
…
…
…
算了,往回找吧。。。第一反应是想,难道hadoop里的数据丢了?赶紧去hadoop看看。
hadoop dfs -ls /
一直进去到自己建的表,都没问题。。。
百度。。。
…
…
…
难道是元数据损坏了?
突然想起来,我解压完以后就直接使用hive了,没有设置MySql作为hive的元数据库。
嗯,hive的元数据库默认是Derby,只支持一个会话连接。 当在某个目录下启动终端,进入hive shell时,hive默认会在当前目录下生成一个derby文件和一个metastore_db目录,这两个文件主要保存刚刚在shell中操作的一些sql的结果,比如新建的表、添加的分区等等。切换目录启动新的shell,无法查看之前创建的表,不能实现表数据的共享。
仔细看一看,好像确实和上次启动的目录不一样。。。
然后到了上次启动的目录,再
sh hive
嗯,正常了。。。我的库和表都回来了。。。。
…
…
…
又气又笑。。。
更多推荐
所有评论(0)