1.声明
当前内容主要用于本人学习和复习,当前的内容主要为模拟概念视图表并实现该图表
下面是需要模拟的视图表
当前内容基于前面的博文:简单的操作HBase
2.查看当前的put命令帮助
help 'put'
当前的操作为:
put '表名','列名','列族:列名','值',timestamp
发现当前的put方法中无法一次添加多列的数据,只能一个一个的添加,而且是可以自定义当前的timestamp(如果不写,默认用当前时间)
3.开始模拟添加数据
create 'webtable','contents','anchor','people'
put 'webtable','com.cnn.www','anchor:cnnsi.com','CNN',10009
put 'webtable','com.cnn.www','anchor:my.look.ca','CNN.com',10008
put 'webtable','com.cnn.www','contents:html','<html>…',10006
put 'webtable','com.cnn.www','contents:html','<html>…',10005
put 'webtable','com.cnn.www','contents:html','<html>…',10003
put 'webtable','com.example.www','contents:html','<html>…',10005
put 'webtable','com.example.www','people:author','John Doe',10005
4.查看get命令帮助并使用
help 'get'
直接查询
get 'webtable','com.example.www'
get 'webtable','com.cnn.www'
这里发现当前的com.cnn.www中只有三条数据,也就是说,相同的数据,按照时间的大小覆盖(所以这里的contents:html中只有最大时间的一条数据)
查询row key为com.example.www中的列people:author的内容(特定条件查询)
get 'webtable','com.example.www',{COLUMN=>'people:author'}
查询时间范围在10001到1008的数据
5.总结
1.通过测试发现当前的HBase中的put方法只能一次添加一行数据,并且只能添加一列数据(不能按照mysql一样一次添加好多列的数据)
2.添加数据时,如果数据列一致,那么时间撮大的覆盖小的数据信息
3.查询数据的时候可以使用条件查询:例如时间撮范围查询,查询特定的列
以上纯属个人见解,如有问题请联系本人!