本章介紹用於對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() 此方法用於檢索對應於從結果中創建行的行鍵。  | 
		
