您的位置:首页 > 运维架构 > Shell

Hbase shell 操作:增删改查小结

2015-12-15 15:40 459 查看
HBASE SHELL 操作

名称

命令表达式

创建表

create '表名称', '列族名称1','列族名称2','列族名称N'

添加记录

put '表名称', '行名称', '列名称:', '值'

查看记录

get '表名称', '行名称'

查看表中的记录总数

count '表名称'

删除记录

delete '表名' ,'行名称' , '列名称'

删除一张表

先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步
drop '表名称'

查看所有记录

scan "表名称"

查看某个表某个列中所有数据

scan "表名称" , {COLUMNS=>'列族名称:列名称'}

更新记录

就是重写一遍进行覆盖

添加一

创建表

>create 'users','user_id','address','info'

hbase(main):005:0>create 'user','userid','address','info'

0row(s) in 0.4650 seconds

=>Hbase::Table - user

表users,有三个列族user_id,address,info

列出全部表

>list

hbase(main):006:0>list

TABLE

user

1row(s) in 0.0180 seconds

得到表的描述

>describe 'users'

hbase(main):007:0>describe 'user'

Tableuser is ENABLED

user

COLUMNFAMILIES DESCRIPTION

{NAME=> 'address',DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS =>'0', TTL => 'FOREVER', KEEP_DELETED_

CELLS=> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE=> 'true'}

{NAME=> 'info',DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS =>'0', TTL => 'FOREVER', KEEP_DELETED_CEL

LS=> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE=> 'true'}

{NAME=> 'userid',DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS =>'0', TTL => 'FOREVER', KEEP_DELETED_C

ELLS=> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE=> 'true'}

3row(s) in 0.0860 seconds

创建表

>create 'users_tmp','user_id','address','info'

hbase(main):008:0>create 'user_temp','user_id','address','info'

0row(s) in 0.4320 seconds

=>Hbase::Table - user_temp

删除表

>disable 'users_tmp'

>drop 'users_tmp'

hbase(main):009:0>list

TABLE

user

user_temp

2row(s) in 0.0200 seconds

=>["user", "user_temp"]

hbase(main):010:0>disable 'user_temp'

0row(s) in 1.4110 seconds

hbase(main):012:0>drop 'user_temp'

0row(s) in 0.2330 seconds

hbase(main):013:0> list

TABLE

user

1row(s) in 0.0090 seconds

=>["user"]

添加记录

--一次插入一行

hbase(main):014:0>put'user','zhangsan','info:age','24';

hbase(main):017:0> put 'user','zhangsan','info:company','cnpc';

hbase(main):018:0' put 'user','zhangsan','info:birthday','1988-09-09';

hbase(main):019:0*put'user','zhangsan','address:conutry','china';

hbase(main):020:0*put'user','zhangsan','address:city','beiJing';

--一次插入多行

hbase(main):001:0>put'user','lisi','address:country','usa';put'user','lisi','address:city','newYork';

hbase(main):001:0>put'user','lisi','info:age','28'; put 'user','lisi','info:weight','70'; put'user','lisi','info:bitrhday','1900-12-12';

hbase(main):008:0>scan 'user'

ROW COLUMN+CELL

lisi column=address:city, timestamp=1450188162725, value=new\x19York

lisi column=address:country, timestamp=1450188162691, value=usa

lisi column=info:age, timestamp=1450188386861, value=28

lisi column=info:bitrhday, timestamp=1450188386977, value=1900-12-12

lisi column=info:weight, timestamp=1450188386967, value=70

zhangsan column=address:city, timestamp=1450187240722, value=beiJing

zhangsan column=address:conutry, timestamp=1450187240699, value=china

zhangsan column=info:age, timestamp=1450186822002, value=24

zhangsan column=info:birthday, timestamp=1450187264358, value=1988-09-09

zhangsan column=info:company, timestamp=1450187185959, value=cnpc

2 row(s) in0.0640 seconds(实际上只有现行,行键确定一行)

获取一条记录

1.取得一个id的所有数据

hbase(main):007:0>get 'user','zhangsan'

COLUMN CELL

address:city timestamp=1450187240722, value=beiJing

address:conutry timestamp=1450187240699, value=china

info:age timestamp=1450186822002, value=24

info:birthday timestamp=1450187264358, value=1988-09-09

info:company timestamp=1450187185959, value=cnpc

5row(s) in 0.0910 seconds

2.获取一个id,一个列族的所有数据

>get 'users','xiaoming','info'

hbase(main):012:0> get'user','zhangsan','info'
同等 get'user','zhangsan',{COLUMN => 'info'}

COLUMN CELL

info:age timestamp=1450186822002, value=24

info:birthday timestamp=1450187264358, value=1988-09-09

info:company timestamp=1450187185959, value=cnpc

3row(s) in 0.0210 seconds

3.获取一个id,一个列族中一个列的

所有数据

get 'users','xiaoming','info:age'

hbase(main):015:0> get'user','zhangsan','info:age'
同等 get 'user','zhangsan',{COLUMN => 'info:age'}

COLUMN CELL

info:age timestamp=1450186822002, value=24

1row(s) in 0.0160 seconds

更新记录

>put 'users','xiaoming','info:age' ,'29'

>get 'users','xiaoming','info:age'

>put 'users','xiaoming','info:age' ,'30'

>get 'users','xiaoming','info:age'

获取单元格数据的版本数据

>get'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}

>get'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}

>get'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}

hbase(main):004:0> put'user','zhangsan','info:age','26';

hbase(main):004:0>put 'user','zhangsan','info:age','30';

hbase(main):005:0*get 'user','zhangsan'

0row(s) in 0.0880 seconds

COLUMN CELL

address:city timestamp=1450187240722, value=beiJing

address:conutry timestamp=1450187240699, value=china

info:age timestamp=1450192093812, value=30

info:birthday timestamp=1450187264358, value=1988-09-09

info:company timestamp=1450187185959, value=cnpc

5row(s) in 0.0340 seconds

hbase(main):006:0>get 'user','zhangsan',{COLUMN => 'info:age',VERSIONS => 2}

COLUMN CELL

info:age timestamp=1450192093812, value=30

info:age timestamp=1450189851238, value=26

2row(s) in 0.0210 seconds

获取单元格数据的某个版本数据

〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}

hbase(main):003:0>get 'user','lisi',{COLUMN => 'info'}

COLUMN CELL

info:age timestamp=1450188386861, value=28

info:bitrhday timestamp=1450188386977, value=1900-12-12

info:weight timestamp=1450188386967, value=70

3row(s) in 0.0560 seconds

hbase(main):004:0>get 'user','lisi',{COLUMN => 'info:age'}

COLUMN CELL

info:age timestamp=1450188386861, value=28

1row(s) in 0.0150 seconds

hbase(main):005:0>get 'user','lisi',{COLUMN => ['info:age','info:weight']}

COLUMN CELL

info:age timestamp=1450188386861, value=28

info:weight timestamp=1450188386967, value=70

2row(s) in 0.0160 seconds

hbase(main):006:0>get 'user','lisi',{COLUMN => ['info:age','info:weight','address']}

COLUMN CELL

address:city timestamp=1450188162725, value=new\x19York

address:country timestamp=1450188162691, value=usa

info:age timestamp=1450188386861, value=28

info:weight timestamp=1450188386967, value=70

4row(s) in 0.0280 seconds

全表扫描

>scan 'users'

删除xiaoming值的'info:age'字段

>delete 'users','xiaoming','info:age'

>get 'users','xiaoming'

删除整行

>deleteall 'users','xiaoming'

统计表的行数

>count 'users'

清空表

>truncate 'users'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: