187. 部署Hbase分布式列数据库

7. 部署Hbase分布式列数据库

7.1 部署HBase

进入先电大数据平台主界面,点击左侧的动作按钮,添加HBase服务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.2 HBase用户指南

7.2.1 测试验证

#su – hbase
$ hbase shell

7.2.2 HBase Shell常用命令

HBase Shell常用的几个命令如下:

名称 命令表达式
创建表 create ‘表名称’, ‘列名称1’,‘列名称2’,‘列名称N’
添加记录 put ‘表名称’, ‘行名称’, ‘列名称:’, ‘值’
查看记录 get ‘表名称’, ‘行名称’
查看表中的记录总数 count ‘表名称’
删除记录 delete ‘表名’ ,‘行名称’ , ‘列名称’
删除一张表 先要屏蔽该表,才能对该表进行删除,第一步 disable ‘表名称’ 第二步 drop ‘表名称’
查看所有记录 scan “表名称”
查看某个表某个列中所有数据 scan “表名称” , [‘列名称:’]
更新记录 就是重写一遍进行覆盖
1.一般操作

1) 查询服务器状态

hbase(main):001:0> status

2 servers, 0 dead, 1.5000 average load

2) 查询hive版本

hbase(main):002:0> version

1.0.1.1, re1dbf4df30d214fca14908df71d038081577ea46, Sun May 17 12:34:26 PDT 2015

2.DDL操作

1) 创建一个表

hbase(main):003:0>create 'member','member_id','address','info'  

0 row(s) in 1.2210seconds

2) 获得表的描述

hbase(main):005:0> list

TABLE                                                                                    

member                                                                                   

1 row(s) in 0.0470 seconds

=> ["member"]

3) 删除一个列族,alterdisableenable

我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。

hbase(main):006:0> alter 'member',{NAME=>'member_id',METHOD=>'delete'}

hbase(main):014:0> describe 'member'

Table member is ENABLED                                                                           

member                                                                                   

COLUMN FAMILIES DESCRIPTION                                                                         

{NAME => 'address', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOR

EVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                   

{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVE

R', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                    

2 row(s) in 0.0350 seconds

4) drop一个表

hbase(main):029:0>disable 'temp_table'

0 row(s) in 2.0590seconds

hbase(main):030:0>drop 'temp_table'

0 row(s) in 1.1070seconds

5) 判断表是否enable

 

hbase(main):016:0> is_enabled 'member'

true                                                                                    

0 row(s) in 0.0190 seconds

6) 判断表是否disable

hbase(main):032:0>is_disabled 'member'

false                                                                            

0 row(s) in 0.0110seconds

3.DML操作

1) 插入几条记录

put'member','scutshuxue','info:age','24'

put'member','scutshuxue','info:birthday','1987-06-17'

put'member','scutshuxue','info:company','alibaba'

put'member','scutshuxue','address:contry','china'

put'member','scutshuxue','address:province','zhejiang'

put'member','scutshuxue','address:city','hangzhou'

put'member','xiaofeng','info:birthday','1987-4-17'

put'member','xiaofeng','info:favorite','movie' 

put'member','xiaofeng','info:company','alibaba'

put'member','xiaofeng','address:contry','china'

put'member','xiaofeng','address:province','guangdong'

put'member','xiaofeng','address:city','jieyang'

put'member','xiaofeng','address:town','xianqiao'

2) 获取一条数据

获取一个id的所有数据

hbase(main):003:0> get 'member','scutshuxue'

COLUMN                    CELL                                                              

 address:city                timestamp=1441600601563, value=hangzhou                                             

 address:contry               timestamp=1441600601500, value=china                                              

 address:province              timestamp=1441600601534, value=zhejiang                                             

 info:age                  timestamp=1441600579088, value=24                                                

 info:birthday                timestamp=1441600601412, value=1987-06-17                                            

 info:company                timestamp=1441600601451, value=alibaba                                             

6 row(s) in 0.4320 seconds

获取一个id的所有数据获取一个id,一个列族中一个列的所有数据

hbase(main):026:0> get 'member','scutshuxue','info'

COLUMN                    CELL                                                              

 info:age                  timestamp=1441600579088, value=24                                                

 info:birthday                timestamp=1441600601412, value=1987-06-17                                            

 info:company                timestamp=1441600601451, value=alibaba                                             

3 row(s) in 0.0200 seconds

3) .更新一条记录

hbase(main):027:0> put 'member','scutshuxue','info:age' ,'99'

0 row(s) in 0.1460 seconds

4) 通过timestamp来获取两个版本的数据

hbase(main):028:0> get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}

COLUMN                    CELL                                                              

0 row(s) in 0.0160 seconds

5) 全表扫描

hbase(main):029:0> scan 'member'

ROW                     COLUMN+CELL                                                           

 scutshuxue                 column=address:city, timestamp=1441600601563, value=hangzhou                                  

 scutshuxue                 column=address:contry, timestamp=1441600601500, value=china                                   

 scutshuxue                 column=address:province, timestamp=1441600601534, value=zhejiang                                

 scutshuxue                 column=info:age, timestamp=1441601138357, value=99                                       

 scutshuxue                 column=info:birthday, timestamp=1441600601412, value=1987-06-17                                 

 scutshuxue                 column=info:company, timestamp=1441600601451, value=alibaba                                   

 xiaofeng                  column=address:city, timestamp=1441600601782, value=jieyang                                   

 xiaofeng                  column=address:contry, timestamp=1441600601725, value=china                                   

 xiaofeng                  column=address:province, timestamp=1441600601757, value=guangdong                                

 xiaofeng                  column=address:town, timestamp=1441600601809, value=xianqiao                                  

 xiaofeng                  column=info:birthday, timestamp=1441600601608, value=1987-4-17                                 

 xiaofeng                  column=info:company, timestamp=1441600601694, value=alibaba                                   

 xiaofeng                  column=info:favorite, timestamp=1441600601640, value=movie                                   

2 row(s) in 0.1060 seconds

6) 删除id为temp的值的‘info:age’字段

hbase(main):030:0> delete 'member','temp','info:age'

0 row(s) in 0.0450 seconds

7) 删除整行

hbase(main):031:0> deleteall 'member','xiaofeng'

0 row(s) in 0.0120 seconds

8) 查询表中有多少行

hbase(main):032:0> count 'member'   

1 row(s) in 0.0380 seconds

=> 1

9) 给‘xiaofeng’这个id增加'info:age'字段,并使用counter实现递增获

hbase(main):033:0> incr 'member','xiaofeng','info:age'   

COUNTER VALUE = 1

0 row(s) in 0.0230 seconds

取当前count的值hbase(main):034:0> get_counter 'member','xiaofeng','info:age' 

COUNTER VALUE = 1

10) 将整张表清空

hbase(main):035:0> truncate 'member'

Truncating 'member' table (it may take a while):

 \- Disabling table...

 \- Truncating table...

0 row(s) in 1.6560 seconds
发布了189 篇原创文章 · 获赞 72 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/chengyinwu/article/details/104087054