hive建的表丢了?其实它一直在

问题来了:
1.hive使用derby作为元数据库找达到所创建表的原因?
2.为什么会找不到所创建的表?

根本没有小偷,是我们找错地方了》》》》
在学习环境中,我们习惯使用derby作为hive元数据库,也就是这个嵌入式数据库很可能为很多hive学习者造成很多问题。

问题场景:
1.命令行键入 hive后创建表,
2.在show tables; 显示表列表,上面显示刚才创建的表
3.把窗口关闭,再重新开个窗口连接服务器,键入hive ,然后show table,表看不到了

为什么会找不到创建的表,这个并没有消失,而是你的位置不对。

1.如果我们在home下面进入hive,那么我们的metastore_db,就会产生在home目录下。
2.如果我们在/usr目录下进入hive,那么我们的metastore_db,就会产生在usr目录下。
所以如果你更换了目录启动hive,那么之前的创建的表你是找不到的。


也就是说,你在/usr/hive 下进入hive使用创建表语句,创建表成功后这个表就在了;
当你再~/目录下再进入hive,你是不会找到刚建的表的,因为,metastore_db不在~/目录下。
只需要换到/usr/hive 下,重新进入hive就可以找到你想要的表了。


猜你喜欢

转载自1050113483.iteye.com/blog/2261507