4.1.0HBase的shell命令行操作

HBase的shell命令行操作

一、       启动shell外壳

hbase shell

                有jar包冲突。hadoop的jar和hbase的jar冲突,删除其中一个(删除hbase的):

rm -rf /usr/hbase/hbase-1.2.1/lib/slf4j-log4j12-1.7.5.jar

                再次启动shell:

 二、       Help查看命令

三、       执行status

四、       执行version

五、       执行whoami

六、       执行list

                执行list命令,查看hbase中所有的表。

                只有一张默认的表table

七、       创建表

                创建一张test表,只包含一个data列

create  'test' , 'data'

                Web页面:


八、       解决hbase shell命令下不能使用Backspace键


九、       加入数据

            在data列族中三个不同的行和列上插入数据

put  'test' , 'row1' ,'data:1' , 'value1'

十、       读取数据

              Hbase有两种数据读取方式:get和scan。

            1.     get方式

                读取一行的数据信息

get命令:get  'test' , 'row1'

2.     scan方式

                读取表中所有行的数据信息。 

scan命令:scan 'test'

十一、          删除表

            1、       先将需要删除的表设为禁用disable

命令:disable  'test'

            2、       将表删除drop

命令:drop  'test'

            3、       查看是否删除成功

                test表已经删除。

十二、          创建表(指定族名)

            表模型:

            建表语句:

create 'user_info',{NAME => 'base_info' , VERSIONS =>3},{NAME => 'extra_info' , VERSIONS => 1}



十三、          添加数据

                插入第一行数据,自定义行号rowkey为rk0001

put 'user_info','rk00001','base_info:id','1'
put 'user_info','rk00001','base_info:name','haha'
put 'user_info','rk00001','base_info:age','18'
put 'user_info','rk00001','base_info:sex','male'
put 'user_info','rk00001','extra_info:addr','beijing'
put 'user_info','rk00001','extra_info:salary','18.0'

           插入其他行:

十四、          查询数据

            1.   scan查询

scan 'user_info'

            2.   get查询

get 'user_info', 'rk00001'

get'user_info','rk00001','base_info:name'

                测试版本号:

                将rk00001的base_info下name改两次,总共三个版本,再次查询:


                显示最新版本。

                再次更改,版本变为4

                查询所有版本:

get 'user_info' , 'rk00003',{COLUMN =>'base_info:name', VERSIONS => 10}

                只显示了最新的三个版本信息。

十五、          删除表

先弃用disable ‘user_info’
再删除 drop ‘user_info’。

十六、          创建名称空间namespace

                Hbase名称空间namespace相当于关系型数据库的库,namespace下存放有表table

                默认create创建的表都在default

                创建名称空间:

create_namespace 'user'

                在指定名称空间下建表(表配置默认):

create 'user:user_info' ,'base_info'

                添加数据:

                查询:

                删除表:

                删除表空间:

                      需要先删除namespace下所有的表,才能删除namespace

十七、          练习表操作

                创建:

create 'user',{NAME => 'info',VERSIONS => 3},{NAME=> 'data',VERSIONS => 1}


                插入数据:

put 'user', 'rk0001', 'info:name', 'zhangsan'
put 'user', 'rk0001', 'info:gender', 'female'
put 'user', 'rk0001', 'info:age', 20
put 'user', 'rk0001', 'data:pic', 'picture'
put 'user', 'rk0002', 'info:name', 'fanbingbing'
put 'user', 'rk0002', 'info:gender', 'female'
put 'user', 'rk0002', 'info:nationality', '中国'

            查询:

                1.   查询rk0001行的所有数据

get 'user','rk0001' 


                2.   查询rk0001行info列族下的数据

get 'user','rk0001','info'


                3.   查询rk0001行info列族中name和age两cell数据

get 'user','rk0001','info:name','info:age'


                4.   查询rk0001行下info、data两个列族的信息

get 'user','rk0001','info','data'

                5.   查询rk0001行下info、data两个列族的信息

get 'user','rk0001',{COLUMN => ['info','data']}

                6.   查询rk0001行下info列族name和data列族pic的信息

get 'user', 'rk0001', {COLUMN =>['info:name', 'data:pic']}


            7.   查询user表中row key为rk0001,列标示符中含有a的信息

            8.   查询user表中row key为rk0002,value值中含有’中国’的信息

get 'user', 'rk0002', {FILTER =>"ValueFilter(=, 'binary:中国')"}

            9.   scan类似.

                删除数据:

delete 'user', 'rk0001', 'info:name'

                清空表:

truncate'user'


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值