put '表名','行键','列族:列限定符','单元格值',时间戳
delete '表名','行键','列族<:列限定符>',<时间戳>
注意
delete操作并不会马上删除数据,只是将对应的数据打上删除标记,只有在数据产生合并时,数据才会被删除。
get '表名','行键',<'列族:列限定符',时间戳>
get 'student','001' get 'student','001',{COLUMN=>'Grades'}
get 'student','001' ,{COLUMN=>'Grades',TIMERANGE => [1,2]} get 'student','001' ,{COLUMN=>'StuInfo',VERSIONS=>2}
hbase(main):020:0> put 'student', '001', 'StuInfo:Name','jim green',2 0 row(s) in 0.0140 seconds hbase(main):021:0> put 'student', '001', 'StuInfo:Name','jerry',3 0 row(s) in 0.0140 seconds hbase(main):022:0> put 'student', '001', 'StuInfo:Name','curry',4 0 row(s) in 0.0690 seconds hbase(main):023:0> get 'student','001',{COLUMN => 'StuInfo',VERSIONS => 2} COLUMN CELL StuInfo:Age timestamp=1541039335956, value=18 StuInfo:Name timestamp=4, value=curry StuInfo:Name timestamp=3, value=jerry StuInfo:Sex timestamp=1541039336280, value=Male 4 row(s) in 0.0240 seconds
scan '表名',{< '列族:列限定符',时间戳>}
scan 'student', {COLUMN=>'stuinfo'}
scan 'student', {COLUMN=>'stuInfo:Name'}
scan 'student', {LIMIT => 1}
scan 'student', {STARTROW =>'001',ENDROW => '003'}
scan 'student', {COLUMN=>'stuinfo',STARTROW =>'001',ENDROW => '002'}
count '表名'
hbase(main):004:0> count ‘student’ 3 row(s) in 0.0440 seconds
在关系型数据库中,有多少条记录就有多少行,表中的行数很容易统计。而在 HBase 里,计算逻辑行需要扫描全表的内容,重复的行键是不纳入计数的,且标记为删除的数据也不纳入计数。
执行 count 命令其实是一个开销较大的进程,特别是应用在大数据场景时,可能需要持续很长时间,因此,用户一般会结合 Hadoop 的 MapReduce 架构来进行分布式的扫描计数。