HBase - 客户端 API

本章介绍 HBase 的 Java 客户端 API,用于对 HBase 表执行 CRUD 操作。HBase 用 Ja​​va 编写,具有 Java 本机 API。因此,它提供对数据操作语言 (DML) 的编程访问。

类 HBase 配置

将 HBase 配置文件添加到配置。此类属于 org.apache.hadoop.hbase 包。

方法和说明

S.No. 方法和说明
1

static org.apache.hadoop.conf.Configuration create()

此方法使用 HBase 资源创建配置。

Class HTable

HTable 是一个 HBase 内部类,表示一个 HBase 表。它是用于与单个 HBase 表进行通信的表的实现。此类属于 org.apache.hadoop.hbase.client 类。

构造函数

S.No. 构造函数和说明
1

HTable()

2

HTable(TableName tableName, ClusterConnection connection, ExecutorService pool)

使用此构造函数,您可以创建一个对象来访问 HBase 表。

方法和说明

S.No. 方法和说明
1

void close()

释放 HTable 的所有资源。

2

void delete(Delete delete)

删除指定的单元格/行。

3

boolean exist(Get get)

使用此方法,您可以测试表中列的存在性,具体如下获取。

4

Result get(Get get)

从给定行检索某些单元格。

5

org.apache.hadoop.conf.Configuration getConfiguration()

返回此实例使用的 Configuration 对象。

6

TableName getName()

返回此表的表名实例。

7

HTableDescriptor getTableDescriptor()

返回此表的表描述符。

8

byte[] getTableName()

返回此表的名称。

9

void put(Put put)

使用此方法,您可以将数据插入表中。

Put Class

该类用于对单行执行 Put 操作。它属于 org.apache.hadoop.hbase.client 包。

构造函数

S.No. 构造函数和说明
1

Put(byte[] row)

使用此构造函数,您可以为指定的行创建 Put 操作。

2

Put(byte[] rowArray, int rowOffset, int rowLength)

使用此构造函数,您可以复制传入的行键以保留本地。

3

Put(byte[] rowArray, int rowOffset, int rowLength, long ts)

使用此构造函数,您可以复制传入的行键以保留本地。

4

Put(byte[] row, long ts)

使用此构造函数,我们可以使用给定的时间戳为指定行创建 Put 操作。

方法

S.No. 方法和说明
1

Put add(byte[] family, byte[] qualifier, byte[] value)

将指定的列和值添加到此 Put 操作。

2

Put add(byte[] family, byte[] qualifier, long ts, byte[] value)

将指定的列和值(以指定的时间戳作为其版本)添加到此 Put操作。

3

Put add(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value)

将指定的列和值,以指定的时间戳作为其版本添加到此 Put 操作中。

4

Put add(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value)

将指定的列和值,以指定的时间戳作为其版本添加到此 Put 操作中。

Class Get

此类用于对单行执行 Get 操作。此类属于 org.apache.hadoop.hbase.client 包。

构造函数

S.No. 构造函数和说明
1

Get(byte[] row)

使用此构造函数,您可以为指定行创建 Get 操作。

2 Get(Get get)

方法

S.No. 方法和说明
1

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

从具有指定限定符的特定系列中检索列。

2

Get addFamily(byte[] family)

从指定系列中检索所有列。

Class Delete

此类用于对单行执行删除操作。要删除整行,请使用要删除的行实例化 Delete 对象。此类属于 org.apache.hadoop.hbase.client 包。

构造函数

S.No. 构造函数和说明
1

Delete(byte[] row)

为指定行创建 Delete 操作。

2

Delete(byte[] rowArray, int rowOffset, int rowLength)

为指定行和时间戳创建 Delete 操作。

3

Delete(byte[] rowArray, int rowOffset, int rowLength, long ts)

为指定行创建 Delete 操作并时间戳。

4

Delete(byte[] row, long timestamp)

为指定的行和时间戳创建删除操作。

方法

S.No. 方法和说明
1

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

删除指定列。

2

Delete addColumns(byte[] family, byte[] qualifier, long timestamp)

删除指定列的所有版本,其时间戳小于或等于指定时间戳。

3

Delete addFamily(byte[] family)

删除指定系列的所有列的所有版本。

4

Delete addFamily(byte[] family, long timestamp)

删除指定系列的所有列,其时间戳小于或等于指定时间戳时间戳。

Result 类

此类用于获取 Get 或 Scan 查询的单行结果。

构造函数

S.No. 构造函数
1

Result()

使用此构造函数,您可以创建一个没有 KeyValue 负载的空 Result;如果调用原始 Cells(),则返回 null。

方法

S.No. 方法和说明
1

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

此方法用于获取指定列的最新版本。

2

byte[] getRow()

此方法用于检索与创建此结果的行相对应的行键。