Hbase 简明教程

HBase - Client API

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

Class HBase Configuration

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

Methods and description

S.No.

Methods and Description

1

static org.apache.hadoop.conf.Configuration create() 此方法创建一个包含 HBase 资源的 Configuration。

Class HTable

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

Constructors

S.No.

Constructors and Description

1

HTable()

2

HTable(TableName tableName, ClusterConnection connection, ExecutorService pool) 使用此构造函数,您可以创建对象以访问 HBase 表。

Methods and description

S.No.

Methods and Description

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) 使用此方法,您可以向表中插入数据。

Class Put

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

Constructors

S.No.

Constructors and Description

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 操作,使用指定的时间戳。

Methods

S.No.

Methods and Description

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 包。

Constructor

S.No.

Constructor and Description

1

Get(byte[] row) 使用此构造函数,您可以为指定行创建一个 Get 操作。

2

Get(Get get)

Methods

S.No.

Methods and Description

1

Get addColumn(byte[] family, byte[] qualifier) 从指定限定符的特定族中检索列。

2

Get addFamily(byte[] family) 从指定族中检索所有列。

Class Delete

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

Constructor

S.No.

Constructor and Description

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 操作。

Methods

S.No.

Methods and Description

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) 删除时间戳小于或等于指定时间戳的指定族的所有列。

Class Result

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

Constructors

S.No.

Constructors

1

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

Methods

S.No.

Methods and Description

1

byte[] getValue(byte[] family, byte[] qualifier) 此方法用于获取指定列的最新版本。

2

byte[] getRow() 此方法用于检索与创建此 Result 的行相对应的行键。