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 建立的行對應的行鍵。

廣告