文档章节

Hive on Hbase

China_OS
 China_OS
发布于 2017/04/05 15:44
字数 537
阅读 437
收藏 0

介绍

        HBase是一个列式数据库,有自己的一套查询语法,Hive做为数仓,使用HQL来查询,作为分析人员擅长使用SQL来分析数据,这样就有了使用SQL来查询HBase的需求,Hive on HBase作为一套成熟的方案,在hadoop生态圈使用比较广泛。hive通过HBaseStorageHandler这个模块来读取HBase的数据。

环境

        Hadoop 版本:CDH 5.10    

        OS版本:CentOS release 6.7 (Final)

依赖

    安装hive-hbase

yum install hive-hbase -y

    确保存在如下jar

/usr/lib/hive/lib/zookeeper.jar;
/usr/lib/hive/lib/hive-hbase-handler.jar
/usr/lib/hive/lib/guava-<Guava_version>.jar;
/usr/lib/hive/lib/hbase-client.jar;
/usr/lib/hive/lib/hbase-common.jar;
/usr/lib/hive/lib/hbase-hadoop-compat.jar;
/usr/lib/hive/lib/hbase-hadoop2-compat.jar;
/usr/lib/hive/lib/hbase-protocol.jar;
/usr/lib/hive/lib/hbase-server.jar;
/usr/lib/hive/lib/htrace-core.jar;

    设置hive配置

        当你使用hive连接单节点hbase master的时候,直接在CLI指定hbase master即可:beeline  -hiveconf hbase.master=HMaster:60000

        当你使用hive连接HA模式的hbase master的时候,直接在CLI指定zookeeper地址即可:beeline  -hiveconf hbase.zookeeper.quorum=zkaddress:2181 或者设置环境变量 export HIVE_OPTS="-hiveconf zookeeper_address:2181"

            ps:每次输入这么多配置比较麻烦,也可以在配置文件中进行设置,下面二选一即可

        1    拷贝hbase-site.xml

                拷贝hbase的配置文件hbase-site.xml到/etc/hive/conf目录下即可

        2    配置hive-site.xml

    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>zkaddress:2181</value>
    </property>

    重启hive

/etc/init.d/hive-server2 restart

配置

    查看hbase表结构

describe "xxx"

   

        ps:只能看到列簇,并不能看到列,后面hive进行映射的时候,要注意

    在hive中创建hbase映射表

CREATE EXTERNAL TABLE hbase_table_reg_profile(key String, age string,name String) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:age,info:name")
TBLPROPERTIES("hbase.table.name" = "reg_profile", "hbase.mapred.output.outputtable" = "reg_profile");

 

测试

    beeline登录测试

    异常解决

    ps:开始的时候始终出现这样的错误,经过排查,是由于连接hbase失败导致的,一种是单节点hbase连接不通,一种是连接多节点hbase master的zk地址没配置

注意事项

    当你在hive中创建hive on hbase表之后,使用其他hive账户访问该表的时候,该hive账户必须在hbase表中有相关hbase表的访问权限。

 

 

© 著作权归作者所有

上一篇: Beeline使用
下一篇: zipkin配置
China_OS
粉丝 427
博文 463
码字总数 519985
作品 0
静安
技术主管
私信 提问
Hive学习总结之五:HBase和Hive的集成

Hive和Hbase有各自不同的特征:hive是高延迟、结构化和面向分析的,hbase是低延迟、非结构化和面向编程的。Hive数据仓库在hadoop上是高延迟的。Hive集成Hbase就是为了使用hbase的一些特性。如...

酷帅CoolBash
2013/03/10
9.7K
0
hive与hbase数据交互的详解指南 | ApacheCN(apache中文网)

HBase和Hive的集成原理 ApacheCN | apache中文网 Hive和Hbase有各自不同的特征:hive是高延迟、结构化和面向分析的,hbase是低延迟、非结构化和面向编程的。Hive数据仓库在hadoop上是高延迟...

片刻
2014/06/28
15.3K
0
hive 与 hbase 结合

一、hive与hbase的结合 Hive会经常和Hbase结合使用,把Hbase作为Hive的存储路径,所以Hive整合Hbase尤其重要。使用Hive读取Hbase中的数据,可以使用HQL语句在HBase表上进行查询、插入操作;甚...

meteor_hy
2018/06/26
0
0
HBase实战 | Hive数据导入云HBase

网络环境 专线:用户需要把hbase集群的VPC相关网络信息配置到专线里面,可直通hbase环境 公有云虚拟机VPC环境:选择和hbase通VPC 其他:需要开hbase公网 注意:默认导入hbase数据,依赖的hba...

hbase小能手
2018/11/14
0
0
利用EMR Hive关联云HBase

云HBase需要借助外部Hive对多表进行关联分析,后续云HBase将集成Spark,更加建议使用Spark分析HBase数据。本文简单介绍下如何利用EMR的Hive关联云HBase的表。 1. 环境准备 购买按量计费的EMR...

巴客
2018/10/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
今天
4
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
今天
6
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
今天
4
0
Python机器学习之数据探索可视化库yellowbrick

背景介绍 从学sklearn时,除了算法的坎要过,还得学习matplotlib可视化,对我的实践应用而言,可视化更重要一些,然而matplotlib的易用性和美观性确实不敢恭维。陆续使用过plotly、seaborn,...

yeayee
今天
8
0
重读《学习JavaScript数据结构与算法-第三版》- 第5章 队列

定场诗 马瘦毛长蹄子肥,儿子偷爹不算贼,瞎大爷娶个瞎大奶奶,老两口过了多半辈,谁也没看见谁! 前言 本章为重读《学习JavaScript数据结构与算法-第三版》的系列文章,主要讲述队列数据结...

胡哥有话说
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部