1:关于hive的一些基本命令
以下的那个insert命令,可以查看除hive与mapreduce有关,且1001这个数据的存放路径是hdfs上面的/user/hive/warehouse/test,test为表名。
2:在 CRT窗口 中开启另一个窗口开启 Hive,出现报错
原因在于Hive 默认使用的元数据库为 derby ,开启 Hive 之后就会占用元数据库, 且 不与
其他客户端共享数据 所以我们需要将 Hive 的元数据地址改为 MySQL 。
3:理解
下面两张图是metastore元数据库的相关两张表的内容,分别以DB_ID连接,然后拼接路径,比如下面的select * from test为例,在hdfs里面的相关路径为/user/hive/warehouse/test,然后这个test为创建的表名,然后/user/hive/warehouse这个路径是在hive-site.xml,也就是hive的相关配置文件里面进行设置的,见第五张图。
所以我认为在hive里面的执行的sql,其实就是从hdfs里面获取的数据。所以也就是说,hive是依赖于HDFS的。
从hive里面能获取到数据,一是有元数据,比如在hive里面的create建表语句,二是hdfs里面有数据,比如hadoop fs -put id.txt /user/hive/warehouse/test,上传数据文件到hdfs上
4:回到最初,测试derby数据迁移到mysql效果
也就是为了满足可以多个客户端同时访问同一个元数据库。