您当前的位置: 首页 >  hbase

梁云亮

暂无认证

  • 1浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

HBase2.1.3整合Hive3.1.2

梁云亮 发布时间:2020-03-11 21:25:37 ,浏览量:1

相关博客

错误:org.apache.hbase.thirdparty.com.google.common.cache.CacheLoader的解决方案

hbase与hive集成 第一步:创建HBase和Hive环境变量

在这里插入图片描述

第二步:将HBase中的jar包软链接到hive
ln -s $HBASE_HOME/lib/hbase-common-2.1.3.jar  $HIVE_HOME/lib/hbase-common-2.1.3.jar
ln -s $HBASE_HOME/lib/hbase-server-2.1.3.jar $HIVE_HOME/lib/hbase-server-2.1.3.jar
ln -s $HBASE_HOME/lib/hbase-client-2.1.3.jar $HIVE_HOME/lib/hbase-client-2.1.3.jar
ln -s $HBASE_HOME/lib/hbase-protocol-2.1.3.jar $HIVE_HOME/lib/hbase-protocol-2.1.3.jar
ln -s $HBASE_HOME/lib/hbase-it-2.1.3.jar $HIVE_HOME/lib/hbase-it-2.1.3.jar
ln -s $HBASE_HOME/lib/htrace-core-3.1.0-incubating.jar $HIVE_HOME/lib/htrace-core-3.1.0-incubating.jar
ln -s $HBASE_HOME/lib/hbase-hadoop2-compat-2.1.3.jar $HIVE_HOME/lib/hbase-hadoop2-compat-2.1.3.jar
ln -s $HBASE_HOME/lib/hbase-hadoop-compat-2.1.3.jar $HIVE_HOME/lib/hbase-hadoop-compat-2.1.3.jar
第三步:重新编译hive/lib目录下的hive-hbase-handler-3.1.1.jar文件并覆盖原来的
  1. 修改HiveHBaseTableSnapshotInputFormat.java类,将Base64.encodeBytes(proto.toByteArray())改为Bytes.toString(proto.toByteArray())
  2. 将HiveHBaseTableSnapshotInputFormat.class文件替换到hive-hbase-handler-3.1.1.jar中

我编译好的hive-hbase-handler-3.1.1.jar

第四步:在hive-site.xml中修改zookeeper的属性:

  hive.zookeeper.quorum
  hcmaster,hcslave1,hcslave2

示例一:建立Hive表的同时关联HBase表 创建Hive表的SQL语句
create table hive_hbase_dept (
deptno int,
dname string,
loc string 
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:dname,info:loc")
TBLPROPERTIES ("hbase.table.name" = "hbase_dept");

在这里插入图片描述

查看Hive和HBase发现表创建成功
  • Hive 在这里插入图片描述
  • HBase 在这里插入图片描述
hive中插入数据

因为是关联表,所以不能load,只能insert。 在这里插入图片描述

查看
  • hive 在这里插入图片描述
  • hbase 在这里插入图片描述
Hive中创建外部表关联HBase中已经存在的表 创建外部表

HBase中已经存在hbase_dept

create external table hive_hbase_dept2 (
deptno int,
dname string,
loc string 
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:dname,info:loc")
TBLPROPERTIES ("hbase.table.name" = "hbase_dept");

在这里插入图片描述

使用

在这里插入图片描述

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0442s