设为首页 加入收藏

TOP

hive和hbase整合知识总结
2018-12-07 01:44:25 】 浏览:68
Tags:hive hbase 整合 知识 总结
参考资料

1.hive和hbase是基于hadoop的两种应用,从本质上来说, hive是一种类sql的执行引擎,可以使用HQL查询存放在hdfs上的 数据,HQL这种语言最终被转换成MR。
2.而HBase是运行在HDFS上的一种Key-Value系统,它可进行实时交互式查询,是一种NoSql系统。
所以说这两种应用各有千秋,hive具有类sql执行的优势,而hbase具有交互式的特点,那么如果可以让这两者结合的话,是不是就可以充分利用这两者的优点了呢。

查阅hive的官网 确实是提供了

HBaseIntegration
这样的一种功能

在说这种功能之前 先说几个概念术语
non-native概念:
在hive中不仅有从管理表和外部表的角度来分,还有native和non-native的概念
所以可以分为四种情况
1.管理-native表:通过默认方式 create table
2.外部-native表:通过 create external table 但是没有指明 stored by 语句
3.管理-non-native表:hive将表定义存储在metastore中,但是自身不创建任何文件,并且通过请求一个相应的结构,调用storage handler
4.外部-non-native表:create external table 但是指明了存储语句stored by
所以native就是看hive的存储方式是否是指定的。



既然要关联hive和hbase那么就有一个映射的过程 这个过程需要在建表的时候指定
但是在建表之前需要hive的环境支撑
我使用的版本是
hive-1.2.1
hbase-0.98.18
在网上很多例子都是在hive的启动命令里设置相关jar和配置
其实可以做如下处理
1.导入以下jar到hive的lib中

2.在hive-site.xml中设置
<property>
<name>hbase.zookeeper.quorum</name>
<value>hdp001:2181,hdp002:2181,hdp003:2181</value>
</property>

创建hive表
CREATETABLEhbase_hive_03(rowkeystring,value1string)
STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITHSERDEPROPERTIES("hbase.columns.mapping"=":key,cf1:val")
TBLPROPERTIES("hbase.table.name"="hbase_hive_03","hbase.mapred.output.outputtable"="hbase_hive_03");
注:执行该语句后会在hive端和hbase端都会建立表
hive: 字段rowkeystring,value1string
对应hbase端的 rowkey,名为cf1列族:val列名(的值)
加粗字段要严格对应
红色标注地方需要设置不然会在其mr任务的时候报错
Must specify table name

创建辅助表
create table ccc(foo int,bar string) row format delimited fields terminated by '\t' lines terminated by '\n' stored as textfile;

下面我们向表中导入数据

从hive端导入
1.先把数据导入到导入数据到辅助表中
*non-native表是不允许使用load的
导入数据的方法是从别的表中查询出结果 再插入
load data local inpath '/home/yugang/users.txt' overwrite into table ccc;
样例数据


使用sql导入hbase_table_03
insertoverwritetablehbase_table_1select*fromccc;
起任务

在一开始操作的时候我 执行报错
原因是high-scale-lib-1.1.1.jar这个jar没有引入
需要导入high-scale-lib-1.1.1.jar 和guava.jar

2 从hbase端导入, 使用put语句向hbase中设置值
例如


数据加载完后就可以通过hive和hbase两种方式去互相访问了


hive

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hbase之遍历获取数据 下一篇Hbase集群安装配置

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目