`
qindongliang1922
  • 浏览: 2172234 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117108
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125448
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59555
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71034
社区版块
存档分类
最新评论

Hadoop2.2.0+Hive0.13+Hbase0.96.2集成

阅读更多
本篇,散仙主要讲的是使用Hive如何和Hbase集成,Hbase和Hive的底层存储都在HDFS上,都是hadoop生态系统中的重要一员,所以他们之间有着很亲密的联系,可以相互转换与操作。


hadoop,hbase和hive的搭建就不重复说了,不会的朋友,可以看散仙前面的博客,下面直接进入重点,关于hive集成hbase这一块,网上资料不算多,有的版本比较旧,散仙这里使用的版本是hive0.12和hbase0.96.2。


hive集成hbase的方式其实很简单,就是把Hbase的几个jar包,拷贝到hive的lib目录下即可截图如下:




上面的几个包放进Hive的lib中之后,我们需要配置在hive-site.xml里面配置下Hbase的zk地址,便于Hive连接Hbase使用,添加配置如下:


<property>
<name>hbase.zookeeper.quorum</name>
<value>h1,h2,h3</value>
</property>

下面可以进行测试,我们直接把Hbase里的一张表,转成我们的Hive表,Hive启动前,首先要把Hadoop和Hbase启动起来,然后启动Hive,启动完进程如下所示:

[search@h1 ~]$ jps
7950 RunJar
6559 DataNode
7691 HRegionServer
6879 ResourceManager
7563 HMaster
6985 NodeManager
7474 HQuorumPeer
6731 SecondaryNameNode
6458 NameNode
8120 Jps
[search@h1 ~]$ 

先在hbase里建一张表,并添加列簇,和列数据如下:



hbase(main):001:0> list
TABLE                                                                                                                                                                           
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/search/hbase-0.96.2-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/search/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
mytest                                                                                                                                                                          
webpage                                                                                                                                                                         
2 row(s) in 3.0870 seconds

=> ["mytest", "webpage"]
hbase(main):002:0> scan 'mytest'
ROW                                           COLUMN+CELL                                                                                                                       
 2207                                         column=item:name, timestamp=1407329588864, value=hadoop                                                                           
 23008                                        column=home:address, timestamp=1407329589330, value=shenzhen                                                                      
 2309                                         column=info:age, timestamp=1407329589497, value=899                                                                               
 24008                                        column=home:address, timestamp=1407329588587, value=guangzhou                                                                     
 2407                                         column=item:name, timestamp=1407329588447, value=big data                                                                         
 2409                                         column=info:age, timestamp=1407329588728, value=22.32                                                                             
 3109                                         column=info:age, timestamp=1407329588308, value=7.4                                                                               
 321008                                       column=home:address, timestamp=1407329588169, value=luoyang                                                                       
 33107                                        column=item:name, timestamp=1407329588028, value=x-code                                                                           
 4205                                         column=home:address, timestamp=1407329587701, value=beijing                                                                       
 44101                                        column=info:age, timestamp=1407329587883, value=18.5                                                                              
 444105                                       column=item:name, timestamp=1407329587555, value=a dog                                                                            
12 row(s) in 0.0980 seconds


在Hive里,执行如下语句,进行关联建表:

hive> CREATE EXTERNAL  TABLE hbaseive(key int, name string,address string,age double)           
    > STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'     
    > WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,item:name,home:address,info:age")
    > TBLPROPERTIES ("hbase.table.name" = "mytest"); 	

如果不报错,就证明,集成成功,如果出现错误,一般都是hbase的某个jar包缺少造成,我们根据提示添加到hive的lib里即可,然后重启hive的的shell客户端。


建表成功后,查询如下:


hive> select * from hbaseive;
OK
2207    hadoop  NULL    NULL
23008   NULL    shenzhen        NULL
2309    NULL    NULL    899.0
24008   NULL    guangzhou       NULL
2407    big data        NULL    NULL
2409    NULL    NULL    22.32
3109    NULL    NULL    7.4
321008  NULL    luoyang NULL
33107   x-code  NULL    NULL
4205    NULL    beijing NULL
44101   NULL    NULL    18.5
444105  a dog   NULL    NULL
Time taken: 0.481 seconds, Fetched: 12 row(s)
hive> 

至此,我们的Hive集成Hbase就成功了,关联成功后,我们就可以对数据进行分析了,需要注意的是,我们关联过的hbase表,如果在Hbase里面删除了这个表,那么在Hive里面再次查询,就会报错,如果删除了Hive里面的表,则对Hbase没有影响。另外一点需要注意的是,使用Hive关联Hbase的建的表,是一个内部表,所以需要在Create 后面加上 external关键字 。




参考资料:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration

  • 大小: 270.7 KB
分享到:
评论

相关推荐

    Hadoop2.2.0+Hbase0.98.4+sqoop-1.4.4+hive-0.98.1安装手册(All)_ZCX

    叶梓老师整理的Hadoop2.2.0+Hbase0.98.4+sqoop-1.4.4+hive-0.98.1安装手册,非常实用

    Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建

    软件方面,需要安装jdk-7u55-linux-x64.rpm、apache-maven-3.1.1-bin.tar、hadoop-2.2.0-src.tar.gz、protobuf-2.5.0.tar.gz、zookeeper-3.4.5.tar.gz和hbase-0.96.2-hadoop2-bin.tar.gz等软件。 Hadoop2.2安装和...

    hadoop2.2.0+Hbase0.96+hive0.12详细配置

    本文将详细介绍如何在Linux环境下搭建Hadoop2.2.0、HBase0.96和Hive0.12的集群环境。 首先,我们从Hadoop的安装开始。Hadoop2.2.0是Apache官方稳定版,可以从官方网站或镜像站点下载。下载完成后,将其上传到Linux...

    Hadoop2.2.0Hbase0.98.1Hive0.13完全安装手册

    ### Hadoop2.2.0 + HBase0.98.1 + Sqoop1.4.4 + Hive0.13 完全安装手册 #### 前言 随着大数据技术的发展,Hadoop已经成为处理海量数据的核心框架之一。本文旨在为读者提供一套最新的Hadoop2.2.0、HBase0.98.1、...

    妳那伊抹微笑_云计算之Hadoop-2.2.0+Hbaase-0.96.2 +Hive-0.13.1完全分布式环境整合安装文档V1.0.0.docx

    文档作者王扬庭分享的这份资料详细介绍了如何在云计算环境中集成和配置Hadoop-2.2.0、HBase-0.96.2以及Hive-0.13.1,形成一个完全分布式的计算环境。这个文档是《云计算之Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive...

    hadoop2.2 hbase0.96.2 hive 0.13.1整合部署

    【Hadoop2.2.0】 Hadoop2.2.0是Apache Hadoop项目的一个稳定版本,提供了改进的性能和稳定性。它引入了YARN(Yet Another Resource Negotiator),这是一个资源管理和调度器,用于更好地管理和优化分布式计算任务。...

    hadoop2.2.0

    7. 兼容性与扩展性:Hadoop 2.2.0保持了对Hadoop 1.x的兼容性,同时也提供了API和工具,方便开发者构建基于Hadoop的新应用和框架,如HBase、Hive、Pig等。 8. 安全性:Hadoop 2.2.0增强了安全性,支持Kerberos认证...

    hadoop集群搭建详解

    一、Hadoop2.2.0、ZooKeeper3.4.5、HBase0.96.2、Hive0.13.1是什么? Hadoop2.2.0是一个大数据处理框架,具有许多新特性,如支持Windows平台、改进了安全性、提高了性能等。 ZooKeeper3.4.5是一个分布式应用程序...

    hadoop2.2.0API

    Hadoop 2.2.0 不只是MapReduce和HDFS,还包括一系列生态系统项目,如HBase(分布式NoSQL数据库)、Hive(数据仓库工具)、Pig(数据流处理语言)、Oozie(工作流调度系统)和Zookeeper(分布式协调服务)。...

    Hadoop安装

    在【描述】中提到的最佳组合是Hadoop 2.2.0+HBase 0.96+hive 0.13,这是一个经典的大数据处理架构。HBase是一个构建在HDFS之上的分布式列式数据库,适合实时读写操作,而Hive则是一个基于Hadoop的数据仓库工具,用于...

    基于ambari最新版本hadoop的湖仓一体、流批一体架构方案,并在上线生产

    基于最新版本的湖仓一体、流批一体架构方案 hadoop-3.3.4+tez-0.10.2+hive-3.1.3+hbase-2.4.14+atlas-2.2.0+kafka- 2.8.2+ranger-2.3.0+flink-1.15.2+spark-3.3.0+hudi-0.12.1.jar+iceberg-0.14.1.jar+streamx

    hadoop-2.2.0-x64.tar.gz

    Hadoop的生态系统还包括许多其他项目,如Hive(基于SQL的数据仓库工具)、Pig(数据分析平台)、HBase(NoSQL数据库)、Spark(快速数据处理引擎)等,它们共同构成了强大的大数据处理框架。 总之,Hadoop 2.2.0是...

    hadoop-common-2.2.0-bin-master(包含windows端开发Hadoop2.2需要的winutils.exe)

    这些工具和库不仅服务于HDFS和MapReduce,还为其他Hadoop生态系统中的项目如HBase、Hive等提供支持。 在解压后的“hadoop-common-2.2.0-bin-master”文件夹中,你可以找到各种配置文件、脚本和可执行程序。例如: ...

    autoinstallhadoop:自动安装JDK,Maven,Ant,Maven,Hadoop脚本

    4,Hadoop2.2.0 5,Hbase0.96.2 6,Zookeeper3.4.5 7,Hive0.13.13 全是Java有关的框架,主要目的在于安装Hadoop,其他的都是附带的基本配置 本脚本能够快速在Linux上安装JAVA环境,并部署hadoop,其中关于hadoop,...

    kettle5.3连接hdfs、hbase、kettle5.2源码编译

    总结,本文档详细介绍了如何使用 Kettle 5.3 连接 Hadoop 2.2.0 的 HDFS,以及如何与 ICTBase 中的 HBase 进行交互。同时,还提供了 Kettle 5.2 源码编译的方法,这对于开发者来说是宝贵的资源,有助于他们更深入地...

    spark-2.2.0-bin-hadoop2.7

    - **其他Hadoop组件支持**:如Hive、HBase等,Spark 2.2.0与这些组件的集成更为紧密,提供了更多的互操作性和功能。 ### Hadoop 2.7 的关键特性 #### 1. HDFS改进 - **高可用性**:Hadoop 2.7版本加强了NameNode的...

    apache-atlas-2.2.0-hbase-hook.tar.gz

    5. **集成与扩展**:除了HBase,Apache Atlas还支持其他多种数据存储系统,如Hive、Spark、Kafka等,HBase Hook展示了其高度可扩展性,使得跨系统的数据治理成为可能。 6. **安装与配置**:要使用HBase Hook,用户...

    hive安装指南

    mv ~/Desktop/开发 Hbase 需要的 jar/mysql-connector-java-5.0.8.jar /opt/hadoop/hive/apache-hive-0.14.0-bin/lib/ ``` 6. **启动Hive服务** 完成上述步骤后,可以启动Hive的服务。首先确保Hadoop已经启动,...

Global site tag (gtag.js) - Google Analytics