HBase的hbase shell 详解
生活随笔
收集整理的這篇文章主要介紹了
HBase的hbase shell 详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
進(jìn)入hbase命令行
./hbase shell
顯示hbase中的表
list
創(chuàng)建user表,里面包含info,date兩個(gè)列族
create 'user','info','data'
create 'user',{NAME => 'info', VERSIONS => 5},{NAME => 'data' , VERSIONS => 5 }
插入數(shù)據(jù) puthbase> put 'ns1:t1', 'r1', 'c1', 'value'hbase> put 't1', 'r1', 'c1', 'value'hbase> put 't1', 'r1', 'c1', 'value', ts1hbase> put 't1', 'r1', 'c1', 'value', {ATTRIBUTES=>{'mykey'=>'myvalue'}}hbase> put 't1', 'r1', 'c1', 'value', ts1, {ATTRIBUTES=>{'mykey'=>'myvalue'}}hbase> put 't1', 'r1', 'c1', 'value', ts1, {VISIBILITY=>'PRIVATE|SECRET'}put 'user' , 'rk0001' , 'info:name' , 'zjs'
put 'user' , 'rk0001' , 'info:age' , '18'
put 'user' , 'rk0001' , 'info:sex' , '男'
put 'user' , 'rk0001' , 'data:name' , 'lt'
put 'user' , 'rk0001' , 'data:age' , '19'
put 'user' , 'rk0001' , 'data:sex' , '女'put 'user' , 'rk0002' , 'info:name' , 'zjszjs'
put 'user' , 'rk0002' , 'info:age' , '1818'
put 'user' , 'rk0002' , 'info:sex' , '男男'
put 'user' , 'rk0002' , 'data:name' , 'ltlt'
put 'user' , 'rk0002' , 'data:age' , '1919'
put 'user' , 'rk0002' , 'data:sex' , '女女'查詢數(shù)據(jù) gethbase> t.get 'r1'hbase> t.get 'r1', {TIMERANGE => [ts1, ts2]}hbase> t.get 'r1', {COLUMN => 'c1'}hbase> t.get 'r1', {COLUMN => ['c1', 'c2', 'c3']}hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1}hbase> t.get 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4}hbase> t.get 'r1', {FILTER => "ValueFilter(=, 'binary:abc')"}hbase> t.get 'r1', 'c1'hbase> t.get 'r1', 'c1', 'c2'hbase> t.get 'r1', ['c1', 'c2']hbase> t.get 'r1', {CONSISTENCY => 'TIMELINE'}hbase> t.get 'r1', {CONSISTENCY => 'TIMELINE', REGION_REPLICA_ID => 1}get 'user' , 'rk0001'
get 'user' , 'rk0002' , {COLUMN => 'info:name', VERSIONS => 10}掃描數(shù)據(jù) scanhbase> scan 'hbase:meta'hbase> scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}hbase> scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}hbase> scan 't1', {REVERSED => true}hbase> scan 't1', {ROWPREFIXFILTER => 'row2', FILTER => "(QualifierFilter (>=, 'binary:xyz')) AND (TimestampsFilter ( 123, 456))"}hbase> scan 't1', {FILTER =>org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}hbase> scan 't1', {CONSISTENCY => 'TIMELINE'}hbase> scan 't1', { COLUMNS => ['c1', 'c2'], ATTRIBUTES => {'mykey' => 'myvalue'}}hbase> scan 't1', { COLUMNS => ['c1', 'c2'], AUTHORIZATIONS => ['PRIVATE','SECRET']}hbase> scan 't1', {COLUMNS => ['c1', 'c2'], CACHE_BLOCKS => false}hbase> scan 't1', {RAW => true, VERSIONS => 10}hbase> t = get_table 't'hbase> t.scanscan 'user'創(chuàng)建user表,里面包含info,date兩個(gè)列族
create 'user','info','data'(不指定VERSIONS時(shí),默認(rèn)VERSIONS=1)
create 'user',{NAME => 'info', VERSIONS => 5},{NAME => 'data' , VERSIONS => 5 }向user表中插入信息,row key 值為rk0001 列族info中添加name列標(biāo)識(shí)符,值為zhangsan
put 'user','rk0001','info:name','zhansan'
向user表中插入信息,row key 值為rk0001 列族info中添加gender列標(biāo)識(shí)符,female
put 'user','rk0001','info:gender','female'
向user表中插入信息,row key 值為rk0001 列族info中添加age列標(biāo)識(shí)符,值為18
put 'user','rk0001','info:age','18'
向user表中插入信息,row key 值為rk0001 列族info中添加pic列標(biāo)識(shí)符,值為picture
put 'user','rk0001','info:pic','picture'獲取user表中,row key為rk0001的所有信息
get 'user','rk0001'獲取user表中,row key為rk0001,info列族中的所有信息
get 'user', 'rk0001', 'info'獲取user表中,row key為rk0001,info列族中的name和age列標(biāo)識(shí)符中的信息
get 'user', 'rk0001', 'info:name', 'info:age'獲取user表中,row key為rk0001,info,data 列族的信息
get 'user', 'rk0001', 'info', 'data'
get 'user', 'rk0001', {COLUMN => ['info' ,'data']}
get 'user', 'rk0001', {COLUMN => ['info:name' ,'data:age']}獲取user表中,row key為rk0001,列族為info,版本號(hào)最新5個(gè)的信息
get 'user', 'rk0001', {COLUMN =>'info'},{VERSIONS =>5}
get 'user', 'rk0001', {COLUMN =>'info:name'},{VERSIONS =>5}獲取user表中row key 為rk0001,cell的值為zjs的信息
get 'user', 'rk0001', {FILTER => "ValueFilter(=, 'binary:zjs')"}后去user表中row key為rk0001,列標(biāo)示符中含有’a‘的信息
get 'user', 'rk0001' ,{FILTER => "(QualifierFilter(=,'substring:z'))"}查詢user表中所有的信息scan 'user'查詢user表中列族為info的信息
scan 'user', {COLUMUN => 'info'}
scan 'user', {COLUMN => 'info',RAW =>true, VERSIONS =>5}查詢user表中,列族為info,data的信息
scan 'user', {COLUMN => ['info', 'data']}
scan 'user', {COLUMN => ['info:name', 'data:age']}查詢user表中列族為info,列標(biāo)識(shí)符為name的信息
scan 'user', {COLUMN =>'info:name'}
查詢user表中列族為info,列標(biāo)識(shí)符為name的信息,版本最多5個(gè)
scan 'user', {COLUMN =>'info:name'},{VERSIONS => 5}查詢user表中,列族為info個(gè)data且列標(biāo)識(shí)符含有a字符的信息
scan 'user' ,{COLUMN =>['info' , 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}scan 'user' ,{COLUMN =>['info' , 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}
ROW COLUMN+CELLrk0001 column=data:age, timestamp=1529670010281, value=19rk0001 column=data:name, timestamp=1529670010202, value=ltrk0001 column=info:age, timestamp=1529670009879, value=18rk0001 column=info:name, timestamp=1529669995801, value=zjsrk0002 column=data:age, timestamp=1529670128578, value=1919rk0002 column=data:name, timestamp=1529670128531, value=ltltrk0002 column=info:age, timestamp=1529670128445, value=1818rk0002 column=info:name, timestamp=1529670128315, value=zjszjs
2 row(s) in 0.0410 seconds查詢user表中,列族為info,rk范圍是[rk0001,rk0003]的數(shù)據(jù)
scan 'user', {CLOUMN =>'info' , STARTROW => 'rk0001' , ENDROW => 'rk0003'}
scan 'user', {COLUMN =>'info' , STARTROW => 'rk0001' , ENDROW => 'rk0003'}
ROW COLUMN+CELLrk0001 column=info:age, timestamp=1529670009879, value=18rk0001 column=info:name, timestamp=1529669995801, value=zjsrk0001 column=info:sex, timestamp=1529670010078, value=\xE7\x94\xB7rk0002 column=info:age, timestamp=1529670128445, value=1818rk0002 column=info:name, timestamp=1529670128315, value=zjszjsrk0002 column=info:sex, timestamp=1529670128489, value=\xE7\x94\xB7\xE7\x94\xB7
2 row(s) in 0.0320 seconds查詢user表中,row key 以rk字符開(kāi)頭的
scan 'user' ,{FILTER => "PrefixFilter('rk')"}
scan 'user' ,{FILTER => "PrefixFilter('rk')"}
ROW COLUMN+CELLrk0001 column=data:age, timestamp=1529670010281, value=19rk0001 column=data:name, timestamp=1529670010202, value=ltrk0001 column=data:sex, timestamp=1529670012330, value=\xE5\xA5\xB3rk0001 column=info:age, timestamp=1529670009879, value=18rk0001 column=info:name, timestamp=1529669995801, value=zjsrk0001 column=info:sex, timestamp=1529670010078, value=\xE7\x94\xB7rk0002 column=data:age, timestamp=1529670128578, value=1919rk0002 column=data:name, timestamp=1529670128531, value=ltltrk0002 column=data:sex, timestamp=1529670129123, value=\xE5\xA5\xB3\xE5\xA5\xB3rk0002 column=info:age, timestamp=1529670128445, value=1818rk0002 column=info:name, timestamp=1529670128315, value=zjszjsrk0002 column=info:sex, timestamp=1529670128489, value=\xE7\x94\xB7\xE7\x94\xB7
2 row(s) in 0.0640 seconds查詢user中,指定范圍的數(shù)據(jù)
scan 'user', {TIMERANGE => [1529670010202,1529670012330]}
ROW COLUMN+CELLrk0001 column=data:age, timestamp=1529670010281, value=19rk0001 column=data:name, timestamp=1529670010202, value=lt
1 row(s) in 0.0190 seconds刪除數(shù)據(jù)
刪除user表中row key為rk0001,info列族中列標(biāo)識(shí)符為name的數(shù)據(jù)
delete 'user','rk0001','info:name'
0 row(s) in 0.4830 seconds
hbase(main):002:0> scan 'user'
ROW COLUMN+CELLrk0001 column=data:age, timestamp=1529670010281, value=19rk0001 column=data:name, timestamp=1529670010202, value=ltrk0001 column=data:sex, timestamp=1529670012330, value=\xE5\xA5\xB3rk0001 column=info:age, timestamp=1529670009879, value=18rk0001 column=info:sex, timestamp=1529670010078, value=\xE7\x94\xB7rk0002 column=data:age, timestamp=1529670128578, value=1919rk0002 column=data:name, timestamp=1529670128531, value=ltltrk0002 column=data:sex, timestamp=1529670129123, value=\xE5\xA5\xB3\xE5\xA5\xB3rk0002 column=info:age, timestamp=1529670128445, value=1818rk0002 column=info:name, timestamp=1529670128315, value=zjszjsrk0002 column=info:sex, timestamp=1529670128489, value=\xE7\x94\xB7\xE7\x94\xB7
2 row(s) in 0.0870 seconds刪除user表,row key為rk0002,列標(biāo)識(shí)符為info:name,timestamp為1529670128315的數(shù)據(jù)
delete 'user', 'rk0002', 'info:name', 1529670128315
0 row(s) in 0.0100 secondshbase(main):004:0> scan 'user'
ROW COLUMN+CELLrk0001 column=data:age, timestamp=1529670010281, value=19rk0001 column=data:name, timestamp=1529670010202, value=ltrk0001 column=data:sex, timestamp=1529670012330, value=\xE5\xA5\xB3rk0001 column=info:age, timestamp=1529670009879, value=18rk0001 column=info:sex, timestamp=1529670010078, value=\xE7\x94\xB7rk0002 column=data:age, timestamp=1529670128578, value=1919rk0002 column=data:name, timestamp=1529670128531, value=ltltrk0002 column=data:sex, timestamp=1529670129123, value=\xE5\xA5\xB3\xE5\xA5\xB3rk0002 column=info:age, timestamp=1529670128445, value=1818rk0002 column=info:sex, timestamp=1529670128489, value=\xE7\x94\xB7\xE7\x94\xB7
2 row(s) in 0.0480 seconds清理user表中的數(shù)據(jù)
truncate 'user'
修改表結(jié)構(gòu)
首先停用user表(新版本不需要)
disable 'user'
添加兩個(gè)列族
alter 'user', NAME =>'f1'
alter 'user', NAME =>'f2'
啟用表
enable 'user'刪除一個(gè)列族
disable 'user'
alter 'user' ,NAME => 'f1', METHOD => 'delete'
或者
alter 'user', 'delete' => 'f1'添加列族f1,同時(shí)刪除列族f2
alter 'user', {NAME => 'f1'},{NAME => 'f2', METHOD => 'delete'}將user表中的info列族的版本號(hào)改成10
alter 'user', NAME => info , VERSIONS =>5disable 'user'
0 row(s) in 2.9250 secondshbase(main):002:0> desc 'user'
Table user is DISABLED
user
COLUMN FAMILIES DESCRIPTION
{NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '5', COMPRESSION => 'NONE
', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 't
rue'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '5', COMPRESSION => 'NONE
', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 't
rue'}
2 row(s) in 0.0620 secondshbase(main):003:0> alter 'user', NAME=> 'info', VERSIONS => 15
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 2.0130 secondshbase(main):004:0> enable
enable enable_all enable_peer enable_table_replication
hbase(main):004:0> enable 'user'
0 row(s) in 1.4350 secondshbase(main):005:0> desc 'user'
Table user is ENABLED
user
COLUMN FAMILIES DESCRIPTION
{NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '5', COMPRESSION => 'NONE
', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 't
rue'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '15', COMPRESSION => 'NON
E', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => '
true'}
2 row(s) in 0.0210 seconds啟用表
enable 'user'刪除表
disable 'user'
drop 'user'
總結(jié)
以上是生活随笔為你收集整理的HBase的hbase shell 详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 谷歌浏览器网页版入口_谷歌搜索引擎入口
- 下一篇: zookeeper 屁民