您好,登錄后才能下訂單哦!
小編給大家分享一下HBase shell如何操作,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
進入hbase Shell
[root@test31 ~]# hbase shell
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 0.92.1, r1298924, Fri Mar 9 16:58:34 UTC 2012
1.查看服務器狀態
hbase(main):001:0> status
1 servers, 0 dead, 3.0000 average load
2.查看HBase版本
hbase(main):002:0> version
0.92.1, r1298924, Fri Mar 9 16:58:34 UTC 2012
3.DDL操作
1).create命令
創建一個具有三個列族"member_id"和"address"即"info"的表"member",其中表名、行和列都要用單引號括起來,并以逗號隔開。
hbase(main):003:0> create 'member','member_id','address','info'
0 row(s) in 1.1770 seconds
2).list命令
查看當前HBase中具有哪些表
hbase(main):004:0> list
TABLE
member
test
2 row(s) in 0.0170 seconds
3).describe 命令
查看表的描述信息
hbase(main):006:0> describe 'member'
DESCRIPTION ENABLED
{NAME => 'member', FAMILIES => [{NAME => 'address', BLOOMFILTER => 'NONE', REPLICATION_SCO true
PE => '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647
', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}, {NAME => 'info', BLO
OMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_
VERSIONS => '0', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCAC
HE => 'true'}, {NAME => 'member_id', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERS
IONS => '3', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647', BLOCKSIZE =>
'65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}]}
1 row(s) in 0.0320 seconds
4).刪除一個列族:disable,alter,enable
修改表結構必須先disable
hbase(main):004:0> disable member
NameError: undefined local variable or method `member' for #
hbase(main):005:0> disable 'member'
0 row(s) in 2.1560 seconds
刪除member表的info列
hbase(main):006:0> alter 'member', 'delete' => 'info'
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.3370 seconds
記得enable表:
hbase(main):009:0> enable 'member'
0 row(s) in 2.2330 seconds
5).刪除一個表test(disable,drop)
hbase(main):025:0> disable 'test'
0 row(s) in 2.2100 seconds
hbase(main):026:0> drop 'test'
0 row(s) in 1.2350 seconds
6).查詢表是否存在
hbase(main):033:0> exists 'test'
Table test does not exist
0 row(s) in 0.1820 seconds
7).查看表是否enable
hbase(main):032:0> is_enabled 'member'
true
0 row(s) in 0.0070 seconds
4.DML操作
1).插入數據
hbase(main):005:0> put 'member','scutshuxue','info:age','24'
0 row(s) in 0.0790 seconds
hbase(main):005:0> put 'member','duansf','info:age','37'
0 row(s) in 0.0790 seconds
hbase(main):001:0> put 'member','scutshuxue','info:company','alibaba'
0 row(s) in 0.6520 seconds
hbase(main):002:0> put 'member','xiaofeng','address:contry','china'
0 row(s) in 0.0090 seconds
hbase(main):007:0> put 'member','xiaofeng','info:birthday','1987-4-17'
0 row(s) in 0.0120 seconds
注:插入語句后面一定不要有空格。
2).獲取一條數據
hbase(main):012:0* get 'member','xiaofeng'
COLUMN CELL
address:contry timestamp=1488307463293, value=china
info:birthday timestamp=1488307533852, value=1987-4-17
2 row(s) in 0.0130 seconds
3).獲取一條記錄中某個列族的信息
hbase(main):013:0> get 'member','xiaofeng','info'
COLUMN CELL
info:birthday timestamp=1488307533852, value=1987-4-17
1 row(s) in 0.0100 seconds
4).獲取一條記錄的某個列族中的某個列的信息
hbase(main):020:0> get 'member','xiaofeng','info:birthday'
COLUMN CELL
info:birthday timestamp=1488307533852, value=1987-4-17
1 row(s) in 0.0090 seconds
5).更新一條記錄
把duansf的年齡改為38歲
hbase(main):022:0* get 'member','duansf','info:age'
COLUMN CELL
info:age timestamp=1488308172957, value=37
1 row(s) in 0.0090 seconds
put 'member','duansf','info:age','38'
6).刪除member表中某個列
hbase(main):032:0* delete 'member','scutshuxue','info:age'
0 row(s) in 0.0080 seconds
7).member表全表掃描(類似于關系型數據庫select *)
hbase(main):002:0> scan 'member'
ROW COLUMN+CELL
scutshuxue column=info:age, timestamp=1488306890710, value=24
scutshuxue column=info:company, timestamp=1488307003752, value=alibaba
xiaofeng column=address:contry, timestamp=1488307463293, value=china
xiaofeng column=info:birthday, timestamp=1488307533852, value=1987-4-17
2 row(s) in 0.9780 seconds
8).刪除整行
hbase(main):036:0> deleteall 'member','scutshuxue'
0 row(s) in 0.0090 seconds
9).查詢member表中有多少行
hbase(main):041:0> count 'member'
2 row(s) in 0.0240 seconds
10).清空整張表
hbase(main):045:0* truncate 'member'
Truncating 'member' table (it may take a while):
- Disabling table...
- Dropping table...
- Creating table...
0 row(s) in 4.8640 seconds
附圖:
HBase Shell命令解釋
以上是“HBase shell如何操作”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。