大数据学习系列之五 ----- Hive整合HBase图文详解 (4)

这里写图片描述

这里写图片描述


可以看到表已经成功的创建了

6.2.2数据同步测试

进入hbase之后
在t_student中添加两条数据 然后查询该表

put 't_student','1001','st1:name','zhangsan' put 't_student','1002','st1:name','lisi' scan 't_student'

这里写图片描述

然后切换到hive中
查询该表
输入:

select * from t_student;

这里写图片描述

然后在hive中删除该表
注:因为做测试要看结果,所以将表删除了。如果同学们要做测试的话,是没有必要删除该表的,因为在后面还会使用该表。

然后查看hive和hbase中的表是否删除了
输入:

drop table t_student;

这里写图片描述

这里写图片描述


通过这些可以看到hive和hbase之间的数据成功同步!

6.2.3关联查询测试 hive外部表测试

先在hbase中建一张t_student_info表,添加两个列族
然后查看表结构
输入:

create 't_student_info','st1','st2' describe 't_student_info'

这里写图片描述

然后在hive中创建外部表
说明:创建外部表要使用EXTERNAL 关键字
输入:

create external table t_student_info(id int,age int,sex string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties("hbase.columns.mapping"=":key,st1:age,st2:sex") tblproperties("hbase.table.name"="t_student_info");

这里写图片描述

然后在t_student_info 中添加数据

put 't_student_info','1001','st2:sex','man' put 't_student_info','1001','st1:age','20' put 't_student_info','1002','st1:age','18' put 't_student_info','1002','st2:sex','woman'

这里写图片描述

然后在hive中查询该表
输入:

select * from t_student_info;

这里写图片描述

查询到数据之后,然后将t_student 和t_student_info进行关联查询。
输入:

select * from t_student t join t_student ti where t.id=ti.id ;

这里写图片描述


说明:通过关联查询,可以得出表之间是可以关联查询的。但是明显看到hive 使用默认的mapreduce 作为引擎是多么的慢。。。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxjpd.html