在 HBase 中有四個主要的數據模型操作,分別是:Get、Put、Scan 和 Delete。
Get(讀取)
Get 指定行的返回屬性。讀取通過 Table.get 執行。
Get 操作的語法如下所示:
在以下的 get 命令示例中,我們掃描了 emp 表的第一行:
讀取指定列
下面給出的是使用 get 操作讀取指定列語法:
在下面給出的示例表示用於讀取 HBase 表中的特定列:
Put(寫)
Put 可以將新行添加到表中(如果該項是新的)或者可以更新現有行(如果該項已經存在)。Put 操作通過 Table.put(non-writeBuffer)或 Table.batch(non-writeBuffer)執行。
Put 操作的命令如下所示,在該語法中,你需要註明新值:
新給定的值將替換現有的值,並更新該行。
Put操作示例
假設 HBase 中有一個表 EMP 擁有下列數據:
以下命令將員工名為“raju”的城市值更新為“Delhi”:
更新後的表如下所示:
Scan(掃描)
Scan 允許在多個行上對指定屬性進行迭代。
Scan 操作的語法如下:
以下是掃描表格實例的示例。假定表中有帶有鍵 "row1 "、 "row2 "、 "row3 " 的行,然後是具有鍵“abc1”,“abc2”和“abc3”的另一組行。以下示例顯示如何設置Scan實例以返回以“row”開頭的行。
請注意,通常,指定掃描的特定停止點的最簡單方法是使用 InclusiveStopFilter 類。
Delete(刪除)
Delete 操作用於從表中刪除一行。Delete 通過 Table.delete 執行。
HBase 不會修改數據,因此通過創建名為 tombstones 的新標記來處理 Delete 操作。這些 tombstones,以及沒用的價值,都在重大的壓實中清理乾淨。
使用 Delete 命令的語法如下:
下面是一個刪除特定單元格的例子:
刪除表的所有單元格
使用 “deleteall” 命令,可以刪除一行中所有單元格。下面給出是 deleteall 命令的語法:
這裡是使用“deleteall”命令刪除 emp 表 row1 的所有單元的一個例子。
使用 Scan 命令驗證表。表被刪除後的快照如下:
閱讀更多 會飛的魚go 的文章