HBase - 客户端API



本章介绍用于对 HBase 表执行 **CRUD** 操作的 HBase Java 客户端 API。HBase是用Java编写的,并且拥有一个Java原生API。因此,它提供了对数据操作语言(DML)的编程访问。

HBase Configuration 类

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

方法和描述

序号 方法和描述
1

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

此方法使用 HBase 资源创建一个 Configuration。

HTable 类

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

构造函数

序号 构造函数和描述
1

HTable()

2

HTable(TableName tableName, ClusterConnection connection, ExecutorService pool)

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

方法和描述

序号 方法和描述
1

void close()

释放 HTable 的所有资源。

2

void delete(Delete delete)

删除指定的单元格/行。

3

boolean exists(Get 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 类

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

构造函数

序号 构造函数和描述
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 操作。

方法

序号 方法和描述
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 操作。

Get 类

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

构造函数

序号 构造函数和描述
1

Get(byte[] row)

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

2 Get(Get get)

方法

序号 方法和描述
1

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

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

2

Get addFamily(byte[] family)

从指定的族中检索所有列。

Delete 类

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

构造函数

序号 构造函数和描述
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)

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

方法

序号 方法和描述
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 查询的单个行结果。

构造函数

序号 构造函数
1

Result()

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

方法

序号 方法和描述
1

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

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

2

byte[] getRow()

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

广告