欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-26 08:13:28
...
问题来了:
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就可以找到你想要的表了。