龙空技术网

hbase学习之javaAPI的使用

分享电脑学习 72

前言:

当前咱们对“hbase的api程序应用”可能比较关怀,同学们都想要剖析一些“hbase的api程序应用”的相关资讯。那么小编同时在网上搜集了一些关于“hbase的api程序应用””的相关内容,希望同学们能喜欢,姐妹们一起来了解一下吧!

一、hbase系统管理表

hbase:namespace,记录了hbase中所有namespace的信息 ,当前系统下有哪些namespace信息

scan 'hbase:namespace'

hbase:meta,记录了region信息

scan 'hbase:meta'

二、读写思想

client(get、scan)

rowkey条件

(1)由于rowkey是存储在region上的

(2)判断rowkey在哪个region上

(3)找到region在哪台regionserver上

(4)首先会去meta表中读取信息,找到regionserver

meta也是一张表,也有region和regionserver

desc hbase:meta

在zookeeper中存储了meta表的region信息,可以到zookeeper客户端上去看

读的流程

(1)根据表名和rowkey(start-end范围)找到对应的region

(2)在zookeeper中存储了meta表的region信息

(3)从meta表中获取相应的region信息

(4)找到对应的regionserver

(5)找到对应的region


写的流程

(1)根据表名和rowkey(start-end范围)找到对应的region

(2)在zookeeper中存储了meta表的region信息

(3)从meta表中获取相应的region信息

(4)找到对应的regionserver(不是直接往region上写的,先写到wal再写到memstore)

WAL(预写日志)

memstore(内存中)满了后会flush成storefile

(5)当多个storefile达到一定大小以后,会进行compaction,合并一个大的storefile

(6)当大的storefile达到一定大小以后,会进行split,等分新的region

三、hbase Java API

启动Eclipse,创建Maven项目

在pom.xml中添加hbase依赖


       <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>1.2.1</version>
        </dependency>
 
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.2.1</version>
        </dependency>


创建运行类

最终需要导入的包

创建以下方法

完成表创建

在hbase-site.xml中的配置信息

编写方法

运行代码

在hbase中查看,命名空间已经创建了

创建表

运行下代码

查看下

为了后续方便,我们更改下代码

将之前的代码做一下变化(代码)

运行测试

删除表(代码)

运行查看下,表已删除

添加(代码)

运行查看下(新创建了一个空间和表格),数据已添加

删除数据(代码)

下面这种是筛选删除

运行查看,数据已空

数据查询(代码)注释部分为筛选

结果查看(控制台)

Scan查看(代码)注释部分为筛选

结果查看

标签: #hbase的api程序应用 #javahbase