阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hive与HBase集成

143次阅读
没有评论

共计 2670 个字符,预计需要花费 7 分钟才能阅读完成。

1 安装准备

下载最新稳定版的 Hive,资源库 http://mirror.esocc.com/apache/hive/

本文以当前的稳定版本 0.11 为例子,介绍基本的安装步骤。

$>tar -xvf hive-0.11.0.tar.gz
$>mv hive-0.11.0hive
# 移动到指定的目录下
$>mvhive /opt/
这个教程的软件版本信息:
Hadoop-2.2.0 集群
HBase-0.94.14 集群
Zookeeper-3.4.5 集群
Hive-0.11

2 配置

将 Hive 配置到环境变量中,hive 用户下,输入下列命令:

$ vim~/.bashrc
exportJAVA_HOME=/usr/lib/jvm/jdk1.6.0_43
exportHADOOP_HOME=/opt/hadoop
exportHADOOP_MAPARED_HOME=${HADOOP_HOME}
exportHADOOP_COMMON_HOME=${HADOOP_HOME}
exportHADOOP_HDFS_HOME=${HADOOP_HOME}
exportYARN_HOME=${HADOOP_HOME}
exportHADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
exportHDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop
exportYARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
 
exportHBASE_HOME=/opt/hbase
exportZOOKEEPER_HOME=/opt/zookeeper
 
#eclipsehome
exportE_HOME=/opt/eclipse
 
#hive
export HIVE_HOME=/opt/hive
 
exportPATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin:$E_HOME:$HIVE_HOME/bin:

将当前运行的 HBase 和 Zookeeper 的 jar 包复制到 Hive 目录 lib 下,比如 hbase-0.94.14.jar、zookeeper-3.4.5.jar。删除原来版本的 jar 包,请一定保持 hbase 版本一致。

将 hadoop 和 hbase 配置文件复制到 hive 目录下,比如 core-site.xml,hdfs-site.xml,yarn-site.xml,hbase-site.xml 等(有的配置文件可能没有什么用,也可以不用添加到 hive 的 conf 下)。

3 测试

假设要创建一个外部表 hbasehive_table,实现查询 HBase 中的数据。测试过程可以按照下面的步骤:

3.1 HBase 表的创建和初始化

在 HBase shell 命令下,执行下列脚本:

create’hivehbase’, ‘ratings’
put’hivehbase’, ‘row1’, ‘ratings:userid’, ‘user1’
put’hivehbase’, ‘row1’, ‘ratings:bookid’, ‘book1’
put’hivehbase’, ‘row1’, ‘ratings:rating’, ‘1’
 
put’hivehbase’, ‘row2’, ‘ratings:userid’, ‘user2’
put’hivehbase’, ‘row2’, ‘ratings:bookid’, ‘book1’
put’hivehbase’, ‘row2’, ‘ratings:rating’, ‘3’
 
put’hivehbase’, ‘row3’, ‘ratings:userid’, ‘user2’
put’hivehbase’, ‘row3’, ‘ratings:bookid’, ‘book2’
put’hivehbase’, ‘row3’, ‘ratings:rating’, ‘3’
 
put’hivehbase’, ‘row4’, ‘ratings:userid’, ‘user2’
put’hivehbase’, ‘row4’, ‘ratings:bookid’, ‘book4’
put’hivehbase’, ‘row4’, ‘ratings:rating’, ‘1’

3.2 创建 Hive 外部表

在 Hive shell 命令下,执行下列脚本:

$ CREATE EXTERNAL TABLE hbasehive_table
(key string, userid string,bookid string,ratingint)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES
(“hbase.columns.mapping” =”:key,ratings:userid,ratings:bookid,ratings:rating”)
TBLPROPERTIES(“hbase.table.name” =”hivehbase”);

如果执行成功,并且没有出现任何的异常信息。执行 Hive 查询,出现下列结果就证明安装 Hive 成功。

hive>select * from hbasehive_table;   

OK
row1  user1  book1  1
row2  user2  book1  3
row3  user2  book2  3
row4  user2  book4  1
Time taken: 0.254 seconds, Fetched: 4 row(s)

HBase 的详细介绍:请点这里
HBase 的下载地址:请点这里

相关阅读

Hadoop+HBase 搭建云存储总结 PDF http://www.linuxidc.com/Linux/2013-05/83844.htm

HBase 结点之间时间不一致造成 regionserver 启动失败 http://www.linuxidc.com/Linux/2013-06/86655.htm

Hadoop+ZooKeeper+HBase 集群配置 http://www.linuxidc.com/Linux/2013-06/86347.htm

Hadoop 集群安装 &HBase 实验环境搭建 http://www.linuxidc.com/Linux/2013-04/83560.htm

基于 Hadoop 集群的 HBase 集群的配置 http://www.linuxidc.com/Linux/2013-03/80815.htm‘

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计2670字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中