HBase學習之路 簡單命令操作介紹

2021-09-11 21:46:10 字數 2463 閱讀 5769

在前面幾篇部落格中,已經簡單介紹了hbase的歷史和概念、hbase單機/完全分布式安裝、hbase底層機制等,這篇部落格主要是介紹hbase中的幾個簡單命令~

hbase在windows系統中單機安裝:

hbase在linux系統中單機安裝:

hbase底層儲存架構機制簡單總結:

1. list 列出所有表

2. create 'table_name' , 'column family_name' , ……建立新錶注意建立時至少要跟乙個列族定義

3. alter 'table_name','column family_name' ,……在已經建立好的表上追加列族當然要注意同乙個表中列族名唯一

4. describe 'table_name' 顯示表的資訊(列族的詳細屬性資訊)

其中列族的具體屬性資訊我們此處不進行介紹,後續看情況會進行專題總結~

5. scan 'table_name' 顯示表的具體資料資訊(以rowkey為顯示順序)

如上圖所示,可以加上startrow/endrow來限制scan掃瞄的範圍,需要注意掃瞄出來的行數大於等於startrow,小於且不等於endrow,同時startrow和endrow應該為rownum行名,而非行數數字

6. put 'table_name' , 'rowkey' , 'column family_name:column_name' , 'value' 在表中插入資料,其中rowkey即row_name

需要注意的一點,hbase表中最重要的部分就是列族,在列族沒有插入資料的時候,沒有資料屬性,row和column均是空的,只有插入資料scan才會顯示rowkey和column資訊,一般column資訊中會顯示列族名、列名、單元格資料value和時間戳。如果插入資料未指明時間戳,系統會預設插入資料的時間為該資料的時間戳。同時一般時間戳作為版本號version。

下圖為修改test1 c1 name並加入自定義的時間戳,最後scan會顯示時間戳大的資料

7. put 'table_name' , 'rowkey', 'column family_name:column_name' 查詢資料,put查詢速度快於scan(前者條件查詢,後者全表掃瞄)。注意get只能查詢乙個單元格的資料。

可以加上版本數量,結果為單元格對應版本的資料。有些版本的hbase可能不支援這個操作,因為我的1.1.3用這個命令就無事發生2333

8. delete 'table_name' , 'rowkey', 'column family_name:column_name' 刪除某單元格資料,根據前面hbase底層儲存機制的學習,我們也知道資料是表面刪除,實際上是在hdfs上增加了乙個type為delete的新資料,算是乙個tombstone墓碑標記,等到表資料compaction合併時徹底刪除。

delete是刪除某行的一列資料,deleteall可以刪除整行記錄

9. drop 'table_name' 刪掉表 需要注意在drop之前需要先disable 'table_name' 禁掉此表,才能刪除。這也是hbase集群工作資料的一種保護機制。

同時使乙個被禁掉的表重新工作,使用enable 'table_name' 命令即可。

10. count 'table_name' 計算表的行數。

在此只是簡單介紹了hbase一些最基礎常用的簡單命令,平常學習的時候可以上hbase官網看api文件,或者使用help 'command_name』 檢視某命令的詳細介紹。

感謝閱讀↖(^ω^)↗

Hbase簡單操作

hbase是我接觸的新東西。專案組也準備使用它開發乙個大的服務平台。我也趁機學習學習,先看看hbase的簡單操作方法吧 雖然hbase與傳統的關係型資料庫有很大的不同,但首先建張表還是必須的 定義幾個常量 public static hbaseconfiguration conf new hbase...

hbase簡單操作

hbase shell 進入hbase list 給出所有表 count table name 檢視表的記錄數 scan table name 查詢多條記錄 scan table name limit 1 查詢一條記錄 truncate table name 清空表的記錄數 查詢含有 3091062...

hbase的簡單操作

基本命令 1 開啟hbase shell 2 建立表 create 表名 列族1 列族2 create user info data 3 新增資料 put 表名 行鍵 列族 key value put user r001 info name zhangsan put user r001 info g...