HBase scan命令:查詢全表數據

HBase scan 命令用來查詢全表數據,使用時只需指定表名即可。

HBase scan命令:查詢全表數據

例如對於上面的 Student 表,使用下面的寫法即可查詢數據:

HBase scan命令:查詢全表數據

同樣地,還可以指定列族和列的名稱,或指定輸出行數,甚至指定輸出行鍵範圍,如下圖所示。

scan 指定條件輸出時,需要使用大括號將參數包含起來。
注意指定列族和列名稱使用 COLUMN 限定符;指定輸出行鍵範圍使用 STARTROW 和 ENDROW 限定符,此時輸出行不包括 ENDROW 行。例如,上圖中 ENDROW=>0003,只會輸出行鍵為 0002 的記錄,不會輸出 0003 記錄。
上述限定條件也可以聯合使用,中間用逗號隔開即可。
在 HBase 中,具有相同行鍵的單元格,無論其屬於哪個列族,都可以將整體看作一個邏輯行, 使用 count 命令可以計算表的邏輯行數。
在關係型數據庫中,有多少條記錄就有多少行,表中的行數很容易統計。而在 HBase 裡,計算邏輯行需要掃描全表的內容,重複的行鍵是不納入計數的,且標記為 tombstone 的刪除數據也不納入計數。
執行 count 命令其實是一個開銷較大的進程,特別是應用在大數據場景時,可能需要持續很長時間,因此,用戶一般會結合 Hadoop 的 MapReduce 架構來進行分佈式的掃描計數。


分享到:


相關文章: