HBase客戶端API

本章介紹用於對HBase表上執行CRUD操作的HBase Java客戶端API。 HBase是用Java編寫的,並具有Java原生API。因此,它提供了編程訪問數據操縱語言(DML)。

HBaseConfiguration類

添加 HBase 的配置到配置文件。這個類屬於org.apache.hadoop.hbase包。

方法及說明

S.No.

方法及說明

1

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

此方法創建使用HBase的資源配置

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 exists(Get get)

使用這個方法,可以測試列的存在,在表中,由Get指定獲取。

4

Result get(Get get)

檢索來自一個給定的行某些單元格。

5

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

返回此實例的配置對象。

6

TableName getName()

返回此表的表名稱實例。

7

HTableDescriptor getTableDescriptor()

返回此表的表描述符。

8

byte[] getTableName()

返回此表的名稱。

9

void put(Put put)

使用此方法,可以將數據插入到表中。

Put類

此類用於爲單個行執行PUT操作。它屬於org.apache.hadoop.hbase.client包。

構造函數

S.No.

構造函數和描述

1

Put(byte[] row)

使用此構造方法,可以創建一個將操作指定行。

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

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)

檢索從指定系列中的所有列。

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)

創建一個指定行和時間戳的Delete操作。

方法

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或掃描查詢的單行結果。

構造函數

S.No.

構造函數

1

Result()

使用此構造方法,可以創建無Key Value的有效負載空的結果;如果調用Cells()返回null。

方法

S.No.

方法及描述

1

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

此方法用於獲取指定列的最新版本

2

byte[] getRow()

此方法用於檢索對應於從結果中創建行的行鍵。