1.HBaseConfiguration

它是HBase的配置类,通过HBaseConfiguration类可以对HBase运行时环境进行配置,所有的操作都需要先创建HBaseConfiguration类的实例,可以通过该类的静态方法create()获得。用法示例如下:
Configuration configuration = HBaseConfiguration.create();
上述语句会从classpath中查找hbase-site.xml文件如果查不到则使用默认配置文件

2.Connection

它表示HBase的连接,通过Connection接口的实例能够查找到HMaster、定位HRegion在集群中的位置并缓存,另外table和admin实例也要从Connection实例中获取数据。

3.Admin

它是为管理HBase提供的接口,他提供了相当于HBase Shell中的DDL操作。下面有接口常用方法介绍

返回值

方法

功能

void

createTable(HTableDescriptor desc)

创建一个新表

HTableDescriptor[]

listTables()

列出所有的表

void

deleteTable(TableName tableName)

删除一个已经存在的表

void

enableTable(TableName tableName)

使表有效

void

disableTable(TableName tableName)

使表 无效

void

modifyTable(TableName tableName,HTableDescriptor htd)

修改一个已经存在的表

boolean

TableExists(TableName tableName)

检查表是否存在

4.HTableDescriptor、TableName、Table

  • HTableDescriptor这个类包含了表的名字及对应的列族
  • TableName这个类是对应表名的封装类
  • Table接口主要用于和HBase中的表进行通信,改接口可以获取、添加、删除、扫描HBase表中的数据。
    4.1Table接口的常用方法

返回值

方法

功能

void

put(Put put)

向表添加值,put表示添加操作

Result

get(Get get)

获取单元值,get表示获取操作

void

delete(Delete delete)

删除指定的单元行,delete表示删除操作

ResultScanner

getScanner(Scan)、getScanner(byte[]family,byte[]qualifier、getScanner(byte family)

获取当前表的给定列族的Scanner实例,ResultScanner代表结果列表

boolean

exists(Get get)

检查Get实例所对应的值是否在Table中

HTableDescriptor

getTableDescriptor()

获取表的HTableDescriptor实例

TableName

getName()

获取表名

5.HColumnDescriptor

这个类是对列族的描述,包含了列族名称、版本号、压缩设置等信息。该类的实例只在创建表或给表添加、删除列族时使用。值得注意的是,一旦列族被删除,对应列族中所保存的数据也将同时被删除。

6.put

put类为指定的行键添加列键和值
put类常用方法

返回值

方法

功能

put

addColumn(byte[]family),byte[]qualifier,byte[]value

添加列键和值

put

addColumn(byte[]family),byte[]qualifier,long ts,byte[]value

添加列键和值并添加时间戳

List

get(byte[]family,byte[]qualifier)

返回put实例中与指定列键匹配的项,Cell是单元格实例

boolean

has(byte[]family,byte[]qualifier)

检查put实例中是否包含指定的列键

7.Get

这个类用来获取表中单个行的数据

返回值

方法

功能

Get

addColumn(byte[]family),byte[]qualifier

指定列族和对应的列\

Get

addFamily(byte[]family)

指定列族

Get

setTimeRange(long minStamp,long maxStamp)

指定列的版本号区间

8.Result

此类代表一行数据,可以从Result实例中获取单元格的行键、列键、版本号
Result类常用方法

返回值

方法

功能

NavigableMap<byte[],byte[]>

getFamilyMap(byte[] family)

获取列族下所有列名与值得映射

byte[]

value()

返回第一个列键的值

byte[]

getValue(byte[]family,byte[]qualifier)

获取指定列键的值

boolean

contains(byte[]family,byte[]qualifier)

检查列键是否存在

byte[]

get Row()

返回行键

List

listCells

获取指定行的所有Cell

9.Scan、ResultScanner

scan命令可以按全表扫描,也可以实现列族和列键扫描
Scan类的常用方法

返回值

方法

功能

Scan

addColumn(byte[]family,byte[]qualifier )

获取指定列表和列修饰符对应的列

Scan

addColumn(byte[]family)

获取指定列族下的所有列