二十、Hadoop学记笔记————Hive On Hbase

时间:2022-03-14 15:57:50

Hive架构图:

二十、Hadoop学记笔记————Hive On Hbase

一般用户接口采用命令行操作,

hive与hbase整合之后架构图:

二十、Hadoop学记笔记————Hive On Hbase

使用场景

场景一:通过insert语句,将文件或者table中的内容加入到hive中,由于hive和hbase已经整合,因此也会加入到hbase当中

二十、Hadoop学记笔记————Hive On Hbase

场景二:hbase不支持join或者gruop等,可以通过这种方式,让hbase支持sql语句等

二十、Hadoop学记笔记————Hive On Hbase

场景三,使用Hbase加载数据,然后用Hive查询数据,这样既有了Hbase的高速读写数据,也有了Hive的sql语句方便查询:

二十、Hadoop学记笔记————Hive On Hbase

部署hive整合hbase环境:

先把Hbase中的lib包考入hive里的lib中,这样就不需要再配置环境变量:

二十、Hadoop学记笔记————Hive On Hbase

进入hive命令行,在hive中创建一个能直接管理Hbase的表:

二十、Hadoop学记笔记————Hive On Hbase

查询发现xyz创建完毕:

二十、Hadoop学记笔记————Hive On Hbase

创建插入数据表:

二十、Hadoop学记笔记————Hive On Hbase

创建文件准备插入hive的poke表:

二十、Hadoop学记笔记————Hive On Hbase

数据插入poke表,并且利用poke表插入之前创建的Hive和Hbase关联表:

二十、Hadoop学记笔记————Hive On Hbase

而后利用poke表,将poke表中的数据插入hbase_table_1测试表中:

二十、Hadoop学记笔记————Hive On Hbase

查询hbase的xyz表,发现数据已经插入,此时hive中的hbase_table_1表和hbase中的xyz表已经完成映射

二十、Hadoop学记笔记————Hive On Hbase

在hive中删除表hbase_table_1的同时hbase中的xyz表也会删除

二十、Hadoop学记笔记————Hive On Hbase

二十、Hadoop学记笔记————Hive On Hbase

之后模拟在hive中创建一个外部表与hbase相关联:

先在hbase中创建一个user表:

二十、Hadoop学记笔记————Hive On Hbase

之后在hive中创建hbase关联外部表:

二十、Hadoop学记笔记————Hive On Hbase

hbase中插入数据:

二十、Hadoop学记笔记————Hive On Hbase

此时hive表中数据也同时加载了:

二十、Hadoop学记笔记————Hive On Hbase

以这种方式关联映射的hive表,在删除之后并不会删除hbase中的表:

二十、Hadoop学记笔记————Hive On Hbase

二十、Hadoop学记笔记————Hive On Hbase

二十、Hadoop学记笔记————Hive On Hbase

二十、Hadoop学记笔记————Hive On Hbase

二十、Hadoop学记笔记————Hive On Hbase