您的位置 首页 java

HBase的读写和javaAPI的使用

一、 HBase 系统管理表

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

scan ‘hbase:namespace’

HBase的读写和javaAPI的使用

hbase: meta ,记录了region信息

scan ‘hbase:meta’

HBase的读写和javaAPI的使用

二、读写思想

client(get、scan)

rowkey条件

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

(2)判断rowkey在哪个region上

(3)找到region在哪台regionserver上

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

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

desc hbase:meta

HBase的读写和javaAPI的使用

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 项目

HBase的读写和javaAPI的使用

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的读写和javaAPI的使用

文章地址:https://www.zhihuclub.com/169471.shtml

关于作者: 智云科技

热门文章

网站地图