本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文连接,谢谢合做。html
文章是哥(mephisto)写的,SourceLinkoop
上一篇,咱们讲述了HBase的数据模型相关操做的上部分。spa
下面咱们开始介绍HBase的数据模型相关操做的下部分。3d
一:定义变量
这样咱们就能够使用t这个变量来代替table1了。code
t=get_table 'table1'
二:使用
t.put 'row1','cf1:a','v1' t.get 'row1' t.scan
三:描述,名称
能够查看表的描述,和变量所代替的表名htm
t.describe t.name
一:介绍
有读get 写 put 扫描 scan 删除 delete 这几种数据模型操做。blog
二:put
咱们先写入几条数据。索引
put 'table1','row1','cf1:a','a1' put 'table1','row1','cf3:a','aa1'设置rowkey为row1的列族cf1中列为a的值为a1,列族cf3中列为a的值为aa1get
三:get
获取表table1中rowkey为row1的数据博客
get 'table1','row1'
从图中我能够看到列族cf1的a列,和cf3的a列的数据。
四:更新
put 'table1','row1','cf3:a','aa2'
从图中咱们能够看到列族cf3的列a的值变了,并且时间戳也变了。无论value的值变成什么,或者是本身自己,没执行一次put命令,对应的列族的时间戳都会改变。
五:scan
构造数据
put 'table1','row2','cf1:b','b1' put 'table1','row3','cf3:b','bb1'扫描
scan 'table1'
咱们能够看到该表的每条,每列数据都会列出来。
扫描列族cf1的数据
scan 'table1' ,{COLUMN=>'cf1'}
扫描第一行的数据
scan 'table1' ,{LIMIT=>1}
扫描起始行为row2的前2条数据
scan 'table1' ,{LIMIT=>2,STARTROW=>'row2'}
扫描时间戳在必定范围内的数据
scan 'table1' ,{TIMERANGE=>[1474459901241,1474460092018]} scan 'table1' ,{TIMERANGE=>[1474459901241,1474460092019]}
这里比较奇葩,起始的时间41能够查出41的数据,截至时间18查不出18的数据,19才能查出18的数据。因此这点咱们应该留点心。
倒序扫描数据
scan 'table1' ,{REVERSED => true}
数据按照rowkey,列族,列族中的列倒序排列
使用row过滤器扫描row1的数据scan 'table1' ,{ROWPREFIXFILTER => 'row1'}
六:delete
删除rowkey 为row1,列族cf1中列为a的数据
delete 'table1','row1','cf1:a'
咱们能够试试这个语句
delete 'table1','row1','cf1'发现没有数据被删除,因此删除语句是针对列的,而不是针对列族的。
deleteall删除一行
deleteall 'table1','row1'
--------------------------------------------------------------------
到此,本章节的内容讲述完毕。
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文连接,谢谢合做。
文章是哥(mephisto)写的,SourceLink