在Hive使用过程中发现:
创建的数据库和表,都保存在/user/hive/warehouse/
目录下。当创建一个数据库,会在这个目录下生成一个以数据库名命名,以.db
结尾的文件夹,在Hive中使用use
指定数据库之后,再创建table,就会在相应的.db
的文件夹下创建"表"。
在MySQL中,如果要创建表或者访问表,必须要先指定数据库。
但是在刚进入Hive,没有用use
指定使用哪个数据库,可以直接创建表,这个表的位置就是/user/hive/warehouse/
,也可以直接访问。但是当use
一个库之后,可能会遇到一个问题,就是无法返回到最初的位置了,只能退出Hive,重新进入。
所以在Hive,创建表,最好还是先创建库,在库中进行操作。
在Hive的命令行中运行命令不成功,反复试几次就可以成功了。
原因是之前的Hive SQL语句运行失败了,还没有执行完,所以执行新的语句就会报错。当之前失败的SQL语句执行结束,就可以正确运行新的SQL语句了。
图中带有友好的表格,不是在设置为MySQL存储元数据之后显示出来的,而是在远程通过beeline连接hiveserver2之后显示出来的。
Hive官网上的wiki可以查看Hive的语法
先创建表,再把数据load到表中。对应在HDFS上,创建数据库和表,都会创建一个目录,将数据load到对应的目录下,就可以使用Hive SQL进行查询了。
load加local是从本地机器磁盘上将文件传到Hive中,不加local是从HDFS上传到Hive中。