hbase shell基本操作
表操作:
list
#查看表名列表
创建表:
create '表名','列族名'[,'列族名']
#创建表,列族可以不止一个。
create "player",{NAME => 'basic',VERSIONS => 5,BLOCKCACHE = > true}
#对列族'basic'进行了描述:对一个cell保留最近的5个历史版本,允许读取数据时进行缓存。
查看单表是否存在:
exist 'player'
查看表结构:
describe 'player'
删除表:
disable 'player'
#需要先禁用表
is_disable 'player'
#查看禁用是否完成
drop 'player'
#删除表
truncate 'player'
#清空表数据
修改表结构:
增加列族:
alter 'player','advanced'
alter 'player','basic',{NAME => 'advanced',IN_MEMORY => true}
删除列族(表中至少要包含一个列族):
alter 'player','delete'=>'advanced'
alter 'player',{NAME=>'advanced',METHOD=>'delete'}
修改列族:
alter 'player',{NAME =>'basic',IN_MEMORY => true}
表名已存在就直接修改啦~
查看表结构:
describe 'player'
数据更新:
数据插入:
put '表名','行键名','列族名:列名','cell值',时间戳
put 'player','001','basic:playername','test A B C duang duang duang',1
数据修改:
同插入,时间戳覆盖即可。
put 'player','001','basic:playername','asojdaloijs',2
数据删除:
delete 'player','001','basic'
列名与时间戳是可选项,时间戳表示删除小于等于该时间戳的数据,delete删除的是cell,无法跨行键
deleteall 'player','001'
不需要指定列族和列,删除逻辑行
数据查询:
get 'player','001'
get必须标明表名和行键名。也可以同时指明列族名、时间戳的范围、数据版本数、使用过滤器。
get 'player','001',{COLUMN => 'basic',TIMERANGE => [1,2],VERSIONS => 3}
查看多时间戳:
get '表名','列族名',{COLUMN=>'basic:name',VERSIONS=>3}
数据扫描:
scan 'player'
scan 'player',{COLUMN => 'basic:playername'}
指定列族和列名
scan 'player',{LIMIT => 1}
指定输出行数