java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

Hbase数据例子,及shell操作例子

做个例子来理解下HBase的数据组织模式

学生成绩单,用name作为一个行键,sex作为一个列族,成绩作为一个列族
说明:列族必须在建立表的时候就固定,后面无法扩展新增,子列可以新增

1. 建立一个表stu, 包含列族为sex,score

create 'stu','sex','score'

2. 按设计的表,增加值

put 'stu','lucy','sex:','1'
put 'stu','lucy','score:chinese','90'
put 'stu','lucy','score:math','89'

put 'stu','jack','sex:','2'
put 'stu','jack','score:chinese','95'
put 'stu','jack','score:math','100'

sex列族下没有子列,只需要 sex: 就可以了。

3. 扫描表

hbase(main):021:0> scan 'stu'
ROW                   COLUMN+CELL                                               
 jack                 column=score:chinese, timestamp=1581217877981, value=95   
 jack                 column=score:math, timestamp=1581217881272, value=100     
 jack                 column=sex:, timestamp=1581217874667, value=2             
 lucy                 column=score:chinese, timestamp=1581217867470, value=90   
 lucy                 column=score:math, timestamp=1581217871196, value=89      
 lucy                 column=sex:, timestamp=1581217863401, value=1             
2 row(s)
Took 0.0361 seconds 

4. 读取一行的数据

读取lucy这个学生的数据

hbase(main):022:0> get 'stu','lucy'
COLUMN                CELL                                                      
 score:chinese        timestamp=1581217867470, value=90                         
 score:math           timestamp=1581217871196, value=89                         
 sex:                 timestamp=1581217863401, value=1                          
1 row(s)
Took 0.0210 seconds 

读取这个学生的数学成绩

hbase(main):023:0> get 'stu','lucy','score:math'
COLUMN                CELL                                                      
 score:math           timestamp=1581217871196, value=89                         
1 row(s)
Took 0.0051 seconds 

或者

hbase(main):024:0> get 'stu','lucy',{COLUMN=>'score:math'}
COLUMN                CELL                                                      
 score:math           timestamp=1581217871196, value=89                         
1 row(s)
Took 0.0055 seconds 

5. 为列族score加一个子列
列族score可以自由添加,比如一个学生到了初一多个科目英语 只需要增加数据

put 'stu','lucy','score:english','77'
hbase(main):027:0> get 'stu','lucy'
COLUMN                CELL                                                      
 score:chinese        timestamp=1581217867470, value=90                         
 score:english        timestamp=1581218279668, value=77                         
 score:math           timestamp=1581217871196, value=89                         
 sex:                 timestamp=1581217863401, value=1                          
1 row(s)
Took 0.0175 seconds  


This entry was posted in Linux, 高并发与大数据 and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/hbase-data-example/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply