赞
踩
- CREATE TABLE hive_hbase_emp_table(
- empno int,
- ename string,
- job string,
- mgr int,
- hiredate string,
- sal double,
- comm double,
- deptno int
- )
- STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
- WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno")
- TBLPROPERTIES ("hbase.table.name" = "hbase_emp_table");
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' //指定存储处理器"hbase.columns.mapping" = ":key,a:b,a:c,d:e" 代表有两个列族,一个是a一个是d,a列族中有两列,分别为b和c 注意,hbase.columns.mapping的值中是不允许出现空格的 b:效果 c:现在我们需要向hive库中的hive_hbase_emp_table表中添加数据,注意:不能直接load数据到这张表中, 否则数据不会同步到hbase对应的hbase_emp_table表中。 在 Hive 中创建临时中间表,用于 load 文件中的数据
- CREATE TABLE emp(
- empno int,
- ename string,
- job string,
- mgr int,
- hiredate string,
- sal double,
- comm double,
- deptno int
- )
- row format delimited fields terminated by '\t';
d:向 Hive 中间表中 load 数据
e:通过 insert 命令将中间表中的数据导入到 Hive 关联 HBase 的那张表中
f:查看 Hive 以及关联的 HBase 表中是否已经成功的同步插入了数据
⑵在 HBase 中已经存储了某一张表 hbase_emp_table,然后在 Hive 中创建一个外部表来关联 HBase 中的
hbase_emp_table 这张表,使之可以借助 Hive 来分析 HBase 这张表中的数据。
a:在 Hive 中创建外部表
- CREATE EXTERNAL TABLE relevance_hbase_emp(
- empno int,
- ename string,
- job string,
- mgr int,
- hiredate string,
- sal double,
- comm double,
- deptno int
- )
- STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
- WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno")
- TBLPROPERTIES ("hbase.table.name" = "hbase_emp_table");
b:关联后就可以使用 Hive 函数进行一些分析操作了 ,数据自动填充进来 这里使用外部表映射到HBase中的表,这样,在Hive中删除表,并不会删除HBase中的表,否则,就会删除。
参考文章:
https://blog.csdn.net/linxiyimeng007/article/details/80969151
https://blog.csdn.net/a2011480169/article/details/51588253
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。