Hive只支持insert和delete操做,并不支持update操做,因此没法实施更新hive里的数据,而HBASE正好弥补了这一点,因此在某些场景下须要将hive和hbase整合起来一块儿使用。apache
整合步骤:app
一、编辑hive-site.xml配置文件, 添加hive.zookeeper.quorum, hbase.zookeeper.quorum属性oop
二、编辑hive-env.sh文件,添加HADOOP_HOME, HBASE_HOME属性spa
三、启动hive,以下图所示则表示hive与hbase整合成功code
四、在hbase中新建一张表并插入数据xml
建立了一张t_user表并插入了2条数据, 包括name和sex属性blog
五、在hive中建立一张hbase与hive的映射表, 建表语句以下:hadoop
create external table t_user ( id string, name string, sex string ) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name,info:sex") TBLPROPERTIES("hbase.table.name" = "t_user")
经过hive客户端查询该表的数据:string
到此,说明在hive的客户端上能够查询hive和hbase整合的表,能够在hive上能够愉快的写hive SQL查询hbase里的数据了。it