HBase 數據模型操作

在 HBase 中有四個主要的數據模型操作,分別是:Get、Put、Scan 和 Delete。

Get(讀取)

Get 指定行的返回屬性。讀取通過 Table.get 執行。

Get 操作的語法如下所示:

HBase 數據模型操作

在以下的 get 命令示例中,我們掃描了 emp 表的第一行:

HBase 數據模型操作

讀取指定列

下面給出的是使用 get 操作讀取指定列語法:

HBase 數據模型操作

在下面給出的示例表示用於讀取 HBase 表中的特定列:

HBase 數據模型操作

Put(寫)

Put 可以將新行添加到表中(如果該項是新的)或者可以更新現有行(如果該項已經存在)。Put 操作通過 Table.put(non-writeBuffer)或 Table.batch(non-writeBuffer)執行。

Put 操作的命令如下所示,在該語法中,你需要註明新值:

HBase 數據模型操作

新給定的值將替換現有的值,並更新該行。

Put操作示例

假設 HBase 中有一個表 EMP 擁有下列數據:

HBase 數據模型操作

以下命令將員工名為“raju”的城市值更新為“Delhi”:

HBase 數據模型操作

更新後的表如下所示:

HBase 數據模型操作

Scan(掃描)

Scan 允許在多個行上對指定屬性進行迭代。

Scan 操作的語法如下:

HBase 數據模型操作

以下是掃描表格實例的示例。假定表中有帶有鍵 "row1 "、 "row2 "、 "row3 " 的行,然後是具有鍵“abc1”,“abc2”和“abc3”的另一組行。以下示例顯示如何設置Scan實例以返回以“row”開頭的行。

HBase 數據模型操作

請注意,通常,指定掃描的特定停止點的最簡單方法是使用 InclusiveStopFilter 類。

Delete(刪除)

Delete 操作用於從表中刪除一行。Delete 通過 Table.delete 執行。

HBase 不會修改數據,因此通過創建名為 tombstones 的新標記來處理 Delete 操作。這些 tombstones,以及沒用的價值,都在重大的壓實中清理乾淨。

使用 Delete 命令的語法如下:

HBase 數據模型操作

下面是一個刪除特定單元格的例子:

HBase 數據模型操作

刪除表的所有單元格

使用 “deleteall” 命令,可以刪除一行中所有單元格。下面給出是 deleteall 命令的語法:

HBase 數據模型操作

這裡是使用“deleteall”命令刪除 emp 表 row1 的所有單元的一個例子。

HBase 數據模型操作

使用 Scan 命令驗證表。表被刪除後的快照如下:

HBase 數據模型操作


分享到:


相關文章: