spring hadoop 访问hbase入门

1、  环境准备:

Maven

Eclipse

Java

Spring 版本 3..2.9

2、 Maven  pom.xml配置


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<!-- Spring hadoop  -->

                   <dependency>

            <groupId>org.apache.hbase</groupId>

            <artifactId>hbase-client</artifactId>

            <version>0.96.1.1-hadoop2</version>

         </dependency>

        <dependency>

            <groupId>org.springframework.data</groupId>

            <artifactId>spring-data-jpa</artifactId>

            <version>1.6.0.RELEASE</version>

        </dependency>

         <dependency>

            <groupId>org.springframework.data</groupId>

            <artifactId>spring-data-hadoop</artifactId>

            <version>2.0.2.RELEASE</version>

         </dependency>

3、 Spring和hadoop、hbase相关配置文件


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

  <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"

    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"

    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"

    xmlns:mongo="http://www.springframework.org/schema/data/mongo"

    <span style="color: #ff0000;">xmlns:hdp="http://www.springframework.org/schema/hadoop"</span>

    xmlns:cache="http://www.springframework.org/schema/cache" xmlns:c="http://www.springframework.org/schema/c"

    xmlns:p="http://www.springframework.org/schema/p"

    xsi:schemaLocation=" 

        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd

        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd

        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd

        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd

        http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd

        <span style="color: #ff0000;">http://www.springframework.org/schema/hadoop http://www.springframework.org/schema/hadoop/spring-hadoop.xsd</span

        http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd

        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

  其中标红的是spring  hadoop xml命名空间配置。

Hadoop hbase相关配置文件如下:

<!--  默认properties-->

<hdp:configuration>fs.default.name=hdfs://192.98.8.224:8010</hdp:configuration>

<hdp:hbase-configuration delete-connection="${delete-connection}" zk-quorum="${hbase.zookeeper.quorum}" zk-          port="${hbase.zookeeper.property.clientPort}"/>

对应的properties如下:

hbase.zookeeper.property.clientPort=2181

hbase.zookeeper.quorum=192.98.8.224

hbase.master=192.98.8.224:600000

fs.default.name=hdfs://192.98.8.224:8010

delete-connection=true

#hive jdbc url

hive.url=jdbc:hive://192.98.8.224:10000/default

spring hbasetemplate配置如下:

<bean id="hbaseTemplate" class="org.springframework.data.hadoop.hbase.HbaseTemplate"> <property name="configuration" ref="hbaseConfiguration" />

</bean>

Hbasetemplate使用代码示例:


1

2

3

4

5

6

7

8

9

10

11

Tile t = hbaseTemplate.get("GW_TILES""0_1_1"new RowMapper<Tile>() {

            @Override

            public Tile mapRow(Result result, int rowNum) throws Exception {

                // TODO Auto-generated method stub

                

                Tile t = new Tile();

                t.setData(result.getValue("T".getBytes(), "key".getBytes()));

                return t;

            }

        });

  

Hbasetemplate 常用方法简介:

hbaseTemplate.get("GW_TILES", "0_1_1", new RowMapper  常用于查询,使用示例如下所示:


1

2

3

4

5

6

7

8

9

10

11

Tile t = hbaseTemplate.get("GW_TILES""0_1_1"new RowMapper<Tile>() {

            @Override

            public Tile mapRow(Result result, int rowNum) throws Exception {

                // TODO Auto-generated method stub

                

                Tile t = new Tile();

                t.setData(result.getValue("T".getBytes(), "key".getBytes()));

                return t;

            }

        });

  hbaseTemplate.execute(dataIdentifier, new TableCallback 常用于更新操作,使用示例如下所示:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

return hbaseTemplate.execute(dataIdentifier, new TableCallback<Boolean>() {

            @Override

            public Boolean doInTable(HTableInterface table) throws Throwable {

                // TODO Auto-generated method stub

                boolean flag = false;

                try{

                Delete delete = new Delete(key.getBytes());

                table.delete(delete);

                flag = true;

                }catch(Exception e){

                    e.printStackTrace();

                }

                return flag;

            }

        });

  

备注:spring hbasetemplate针对hbase接口做了强大的封装,普通功能可以使用它强大的接口,同时复杂的功能,还可以使用hbase原生的接口,如:HTableInterface、Result等。其类方法如下图:

同时hbasetemplate封装了hbase连接池等,它的创建和释放通过配置来自动管理。

时间: 2024-10-08 16:19:10

spring hadoop 访问hbase入门的相关文章

Hadoop之Hbase从入门到精通

Hadoop之Hbase从入门到精通http://yunpan.cn/cwhbfIv2pptiR (提取码:b786)超人学院Hadoop大数据技术资源分享 更多精彩内容请关注超人学院微信  更多精彩内容请关注:http://bbs.superwu.cn

HBase入门修行基础篇

HBase入门修行基础篇 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力.HBase是Apache的Hadoop项目的子项目.HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是H

HBase入门篇

目录: 1-HBase的安装 2-Java操作HBase例子 3-HBase简单的优化技巧 4–存储 5(集群) -压力分载与失效转发 6 -白话MySQL(RDBMS)与HBase之间 7 -安全&权限 1-HBase的安装 HBase是什么? HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些这些数据 存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操

spring boot 集成 hbase

spring boot 集成 hbase 会启动报错 主要因为Spring Boot内嵌了Web容器,方便对应用进行微服务化开发和部署.所以打算将HBase的业务应用作为一个单服务进行开发和发布,其他相关的子系统通过RESTful API来访问. 搭建项目环境时,需要注意的事项: 由于Spring Boot内嵌了Web容器,所以框架默认导入了依赖:tomcat-embed-core-8.5.5.jar.tomcat-embed-el-8.5.5.jar等包.而HBase的jar中包含了:serv

HBase入门之安装测试过程(Local Filesystem)

目    标:学习Hbase,实现在本地文件系统中中安装Hbase 参考资料:apache官方文档,Hbase Quick Start 环    境:MacOS上运行虚拟机,虚拟机中操作系统为CentOS 安装过程: 1.安装JDK,本次安装过程中使用的JDK版本是jdk1.8.下载JDK后,执行默认安装: 2.下载HBase(http://mirror.esocc.com/apache/hbase/hbase-0.98.3/),本次安装过程中下载的Hbase版本为0.98.3: 3.解压下载文

基于Hadoop的数据分析综合管理平台之Hadoop、HBase完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事. 现将前期手里面的一个项目做一个大致的总结,与大家一起分享.交流.进步.项目现在正在线上运行,项目名--基于Hadoop的数据分析综合管理平台. 项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop.Mahout.HBase.Spring Data Had

R语言与Hadoop和Hbase的联合使用

HBase和rhbase的安装与使用,分为3个章节. 1. 环境准备及HBase安装 2. rhbase安装 3. rhbase程序用例 每一章节,都会分为"文字说明部分"和"代码部分",保持文字说明与代码的连贯性. 注:Hadoop环境及RHadoop的环境,请查看同系列前二篇文章,此文将不再介绍. 1. 环境准备及HBase安装 文字说明部分: 首先环境准备,这里我选择了Linux Ubuntu操作系统12.04的64位版本,大家可以根据自己的使用习惯选择顺手的

ZooKeeper原理及其在Hadoop和HBase中的应用

简介 ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现.分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知.集群管理.Master选举.分布式锁和分布式队列等功能. 基本概念 本节将介绍ZooKeeper的几个核心概念.这些概念贯穿于之后对ZooKeeper更深入的讲解,因此有必要预先了解这些概念. 集群角色 在ZooKeeper中,有三种角色: Leader Follower Observer 一

什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么

什么是Zookeeper,Zookeeper的作用是什么,它与NameNode及HMaster如何协作?在没有接触Zookeeper的同学,或许会有这些疑问.这里给大家总结一下. 一.什么是Zookeeper  ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) . 蜜蜂(Hive) . 小猪(Pig)  的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei  等项目中都采用到了 Zookeeper.ZooKeeper是一个分