本章介紹用于對HBase表上執(zhí)行CRUD操作的HBase Java客戶端API。 HBase是用Java編寫的,并具有Java原生API。因此,它提供了編程訪問數(shù)據(jù)操縱語言(DML)。
添加 HBase 的配置到配置文件。這個類屬于org.apache.hadoop.hbase包。
S.No. | 方法及說明 |
---|---|
1 |
static org.apache.hadoop.conf.Configuration create() 此方法創(chuàng)建使用HBase的資源配置 |
HTable表示HBase表中HBase的內(nèi)部類。它用于實現(xiàn)單個HBase表進行通信。這個類屬于org.apache.hadoop.hbase.client類。
S.No. | 構(gòu)造函數(shù) |
---|---|
1 |
HTable() |
2 |
HTable(TableName tableName, ClusterConnection connection, ExecutorService pool) 使用此構(gòu)造方法,可以創(chuàng)建一個對象來訪問HBase表。 |
S.No. | 構(gòu)造函數(shù) |
---|---|
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) 使用此方法,可以將數(shù)據(jù)插入到表中。 |
此類用于為單個行執(zhí)行PUT操作。它屬于org.apache.hadoop.hbase.client包。
S.No. | 構(gòu)造函數(shù)和描述 |
---|---|
1 |
Put(byte[] row) 使用此構(gòu)造方法,可以創(chuàng)建一個將操作指定行。 |
2 |
Put(byte[] rowArray, int rowOffset, int rowLength) 使用此構(gòu)造方法,可以使傳入的行鍵的副本,以保持到本地。 |
3 |
Put(byte[] rowArray, int rowOffset, int rowLength, long ts) 使用此構(gòu)造方法,可以使傳入的行鍵的副本,以保持到本地。 |
4 |
Put(byte[] row, long ts) 使用此構(gòu)造方法,我們可以創(chuàng)建一個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操作。 |
此類用于對單行執(zhí)行get操作。這個類屬于org.apache.hadoop.hbase.client包。
S.No. | 構(gòu)造函數(shù)和描述 |
---|---|
1 |
Get(byte[] row) 使用此構(gòu)造方法,可以為指定行創(chuàng)建一個Get操作。 |
2 | Get(Get get) |
S.No. | 構(gòu)造函數(shù)和描述 |
---|---|
1 |
Get addColumn(byte[] family, byte[] qualifier) 檢索來自特定列家族使用指定限定符 |
2 |
Get addFamily(byte[] family) 檢索從指定系列中的所有列。 |
這個類用于對單行執(zhí)行刪除操作。要刪除整行,實例化一個Delete對象用于刪除行。這個類屬于org.apache.hadoop.hbase.client包。
S.No. | 構(gòu)造方法和描述 |
---|---|
1 |
Delete(byte[] row) 創(chuàng)建一個指定行的Delete操作。 |
2 |
Delete(byte[] rowArray, int rowOffset, int rowLength) 創(chuàng)建一個指定行和時間戳的Delete操作。 |
3 |
Delete(byte[] rowArray, int rowOffset, int rowLength, long ts) 創(chuàng)建一個指定行和時間戳的Delete操作。 |
4 |
Delete(byte[] row, long timestamp) 創(chuàng)建一個指定行和時間戳的Delete操作。 |
S.No. | 構(gòu)造方法和描述 |
---|---|
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) 刪除指定列具有時間戳小于或等于指定的時間戳的列族。 |
這個類是用來獲取Get或掃描查詢的單行結(jié)果。
S.No. | 構(gòu)造函數(shù) |
---|---|
1 |
Result() 使用此構(gòu)造方法,可以創(chuàng)建無Key Value的有效負載空的結(jié)果;如果調(diào)用Cells()返回null。 |
S.No. | 方法及描述 |
---|---|
1 |
byte[] getValue(byte[] family, byte[] qualifier) 此方法用于獲取指定列的最新版本 |
2 |
byte[] getRow() 此方法用于檢索對應于從結(jié)果中創(chuàng)建行的行鍵。 |