Hbase常用shell操作

2021-10-01 11:03:46 字數 4411 閱讀 7931

$ bin/hbase shell
hbase(main):001:0> help
hbase(main):002:0> list
建立user表,包含info、data兩個列族

hbase(main):010:0> create 'user', 'info', 'data'

或者hbase(main):010:0> create 'user', ,

向user表中插入資訊,row key為rk0001,列族info中新增name列標示符,值為zhangsan

hbase(main):011:0> put 'user', 'rk0001', 'info:name', 'zhangsan'

向user表中插入資訊,row key為rk0001,列族info中添 加gender列標示符,值為female

hbase(main):012:0> put 'user', 'rk0001', 'info:gender', 'female'

向user表中插入資訊,row key為rk0001,列族info中添 加age列標示符,值為20

hbase(main):013:0> put 'user', 'rk0001', 'info:age', 20

向user表中插入資訊,row key為rk0001,列族data中添 加pic列標示符,值為picture

hbase(main):014:0> put 'user', 'rk0001', 'data:pic', 'picture'

1、通過rowkey進行查詢

獲取user表中row key為rk0001的所有資訊

hbase(main):015:0> get 'user', 'rk0001'

2、檢視rowkey下面的某個列族的資訊

獲取user表中row key為rk0001,info列族的所有資訊

hbase(main):016:0> get 'user', 'rk0001', 'info'

3、檢視rowkey指定列族指定欄位的值

獲取user表中row key為rk0001,info列族的name、age 列標示符的資訊

hbase(main):017:0> get 'user', 'rk0001', 'info:name', 'info:age'

4、檢視rowkey指定多個列族的資訊

獲取user表中row key為rk0001,info、data列族的資訊

hbase(main):018:0> get 'user', 'rk0001', 'info', 'data'

或者你也可以這樣寫

hbase(main):019:0> get 'user', 'rk0001',

或者你也可以這樣寫,也行

hbase(main):020:0> get 'user', 'rk0001',

指定rowkey與列值查詢

獲取user表中row key為rk0001,cell的值為zhangsan的資訊

hbase(main):030:0> get 'user', 'rk0001',

5、指定rowkey與列值模糊查詢

獲取user表中row key為rk0001,列標示符中含有a的資訊

hbase(main):031:0> get 'user', 'rk0001',

繼續插入一批資料

hbase(main):032:0> put 'user', 'rk0002', 'info:name', 'fanbingbing'

hbase(main):033:0> put 'user', 'rk0002', 'info:gender', 'female'

hbase(main):034:0> put 'user', 'rk0002', 'info:nationality', '中國'

hbase(main):035:0> get 'user', 'rk0002',

6、查詢所有資料

查詢user表中的所有資訊

scan 'user'

7、列族查詢

查詢user表中列族為info的資訊

scan 'user',

scan 'user',

scan 'user',

8、多列族查詢

查詢user表中列族為info和data的資訊

scan 'user',

scan 'user',

9、指定列族與某個列名查詢

查詢user表中列族為info、列標示符為name的資訊

scan 'user',

10、指定列族與列名以及限定版本查詢

查詢user表中列族為info、列標示符為name的資訊,並且版本最新的5個

scan 'user',

11、指定多個列族與按照資料值模糊查詢

查詢user表中列族為info和data且列標示符中含有 a字元的資訊

scan 'user',

12、rowkey的範圍值查詢

查詢user表中列族為info,rk範圍是[rk0001, rk0003)的資料

scan 'user',

13、指定rowkey模糊查詢

查詢user表中row key以rk字元開頭的

scan 'user',

14、指定資料範圍值查詢

查詢user表中指定範圍的資料

scan 'user',

1、更新資料值

更新操作同插入操作一模一樣,只不過有資料就更新,沒資料就新增

2、更新版本號

將user表的f1列族版本號改為5

hbase(main):050:0> alter 'user', name => 'info', versions => 5

1、指定rowkey以及列名進行刪除

刪除user表row key為rk0001,列標示符為info:name的 資料

hbase(main):045:0> delete 'user', 'rk0001', 'info:name'

2、指定rowkey,列名以及字段值進行刪除

刪除user表row key為rk0001,列標示符為info:name, timestamp為1392383705316的資料

delete 'user', 'rk0001', 'info:name', 1392383705316

3、刪除乙個列族

刪除乙個列族:

alter 'user', name => 'info', method => 'delete'

或 alter 'user', 'delete' => 'info'

4、清空表資料

hbase(main):017:0> truncate 'user'

5、刪除表

首先需要先讓該錶為disable狀態,使用命令:

hbase(main):049:0> disable 'user'

然後才能drop這個表,使用命令:

hbase(main):050:0> drop 'user'

(注意:如果直接drop表,會報錯:drop the named table. table must first be disabled)

9、統計一張表有多少行資料

hbase(main):053:0> count 'user'

1、status

例如:顯示伺服器狀態

hbase(main):058:0> status 'node01'

2、whoami

顯示hbase當前使用者,例如:

hbase> whoami

3、list

顯示當前所有的表

4、count

統計指定表的記錄數,例如:

hbase> count 'user'

5、describe

展示表結構資訊

6、exists

檢查表是否存在,適用於表量特別多的情況

7、is_enabled、is_disabled

檢查表是否啟用或禁用

8、alter

該命令可以改變表和列族的模式,例如:

為當前表增加列族:

hbase> alter 'user', name => 'cf2', versions => 2

為當前表刪除列族:

hbase(main):002:0> alter 'user', 'delete' => 'cf2'

9、disable/enable

禁用一張表/啟用一張表

10、drop

刪除一張表,記得在刪除表之前必須先禁用

11、truncate

禁用表-刪除表-建立表

HBase常用shell操作

node01伺服器執行以下命令進入hbase的shell客戶端 cd export servers hbase 2.0.0 bin hbase shellhbase main 001 0 helphbase main 002 0 list建立user表,包含info data兩個列族 hbase m...

HBase常用shell操作

hbase shell 2 檢視幫助命令 hbase main 001 0 help 3 檢視當前資料庫中有哪些表 hbase main 006 0 list 4 建立一張表 hbase main 007 0 create user base info extra info 或者create use...

HBase 常用Shell命令

1.檢視hbase中存在的所有表 list hbase main list2.建立新的表 create 使用create命令來建立乙個新的表。在建立的時候,必須指定表名和列族名 hbase中的表至少有乙個列族 create hbase main create test 3.檢視表結構 describ...