好程序员大数据

好程序员大数据培训分享Hbase指令学习

2019-08-16  本文已影响0人  ab6973df9221

好程序员大数据培训分享Hbase指令学习

启动:

  1、启动zk  zkServer.sh start

2、启动hdfs  start-dfs.sh

3、启动hbase服务 start-hbase.sh

(启动报错的话要kill QuorumPeerMain的进程在重新启动

4启动客户端: hbase shell

  时间必须同步,不然也会报错

      TIMERANGE=>[xxxxx,xxxxx]时间戳的数组 range范围

      TIMESTAMP=>xxxxx时间戳单数 stamp 标志

      xy02:16010

      xy02:16010

Hbase没有库的概念,属于无模式,但是有 名称空间(namespace相当于库)和 组(相当于表)的概念

Hbase默认有两个组: Deflult 和 Hbase

list显示hbase中的表

---------------------------------------------------------------------------------------------------------------------------------

  create 'user', 'info', 'data'创建user表,包含info、data两个列族,默认在(default)

  create 'ns1:user', 'info', 'data'在ns1(namesqpce)下建了user

  create 'user1',{NAME=>'info',BLOOMFILTER => 'ROWCOL',VERSIONS => '2'}

  alter 'user1',{NAME=>'data',BLOOMFILTER => 'ROWCOL',VERSIONS => '2'}

  (有则更新更改,无则新增,可以利用alter新增data的列簇)

  create 'user2', 'f1', SPLITS => ['10', '20', '30', '40']  --事先分配好region所管辖的rowkey的范围

插入数据:(不能一次性插入多列)

  put 'user','rk01','info:name','xuyu'

  put 'user','rk01','info:age','18'

  put 'user','rk01','info:sex','boy'

  put 'user','rk01','data:pic','picture'

更新数据

  put 'user','rk01','info:name','xuyu1111'查询的时候name就变成xuyu1111了

---------------------------------------------------------------------------------------------------------------------------------

(删除整个表的时候要禁用表,就像文件在打开的时候无法重命名一样)

  1disable 'test'禁用test表

  2drop 'test'删除test表

  3list发现test表已经被删除了

  4 enable 'user'启用表

  删除列簇:

  alter 'user1', NAME => 'info', METHOD => 'delete'

  alter 'user1', 'delete' => 'info'

 删除数据

     delete 'user','rk01','info:name'删除name 

     delete 'user', 'rk01', 'info:name', 1534126109598删除时间戳为xxx 的name

  删除指定的版本:(往上删除版本)

  delete 'user','rk01','info:name',TIMESTAMP=>1534138686498

  表判断:

  exists 'user'判断表

  disable 'user'禁用表

  enable 'user'开启表

  desc 'user'显示表的属性信息

  统计表:(统计效率较差,不建议使用)

  count 'user'

  清空表:

  truncate 'user'

---------------------------------------------------------------------------------------------------------------------------------

(重命名整个表的时候要禁用表,就像文件在打开的时候无法重命名一样)

     1disable 'user'

有则更新,无则新增

  alter 'user', NAME => 'f1'

  alter 'user1',{NAME=>'data',BLOOMFILTER => 'ROWCOL',VERSIONS => '2'}

---------------------------------------------------------------------------------------------------------------------------------

  describe 'user'会显示name=data,name=info等一系列属性信息

  表扫描(scan)

  scan 'user'对表进行扫描,会显示表中的内容数据

  scan 'user',{COLUMNS => ['info:name','info:age']}扫描指定的部分

  设置查询条件:(包头不包尾)

scan 'user',{COLUMNS => ['info:name','info:age'],STARTROW=>'rk00002',LIMIT=>2}

scan 'user',{COLUMNS => ['info:name','info:age'],STARTROW=>'rk01',ENDROW=>'rk04',LIMIT=>2}

注意:这里的startrow和endrow只的都是rowkey(相当于主键)

  查询数据:(GET)

  get 'user','rk01'获取全部数据

  get 'user','rk01',{TIMESTAMP=>1534126755704}

  get 'user','rk01','info'获取列簇为info数据

  get 'user','rk01','data'获取列簇为data数据

  get 'user','rk01','info:name'只获取info中的name

  获取user表中row key为rk0001,info、data列族的信息

  get 'user', 'rk01', 'info', 'data'获取info和data数据

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

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

  获取user表中row key为rk0001,列族为info,版本号最新5个的信息

  get 'user', 'rk01', {COLUMN => 'info', VERSIONS => 2}

  get 'user', 'rk01', {COLUMN => 'info:name', VERSIONS => 5}

  get 'user', 'rk01', {COLUMN => 'info:name', VERSIONS => 5,TIMERANGE=> [1534123523054,xxxxxxxxxxxxxxx]}获取5个版本号中这2个时间戳的name

---------------------------------------------------------------------------------------------------------------------------------

Namespace 下的操作

list_namespace列举出所有的namespace(相当于库),默认有2个组:default和hbase

create_namespace 'ns1'创建一个名字为ns1的namespace(相当于库)

create 'ns1:user', 'info', 'data'在ns1(namesqpce)下建了user,在user前加ns1:

list_namespace_tables 'ns1' 查看ns1下的表

alter_namespace'ns1', {METHOD => 'set', 'NAME' => 'gjz1'}修改

alter_namespace 'ns1', {METHOD => 'unset', NAME => 'NAME'}删除

drop_namespace 'ns1'   ###只能删除一个空的namespace

describe_namespace 'ns1'  查看内容描述

---------------------------------------------------------------------------------------------------------------------------------

好程序员大数据培训官网:http://www.goodprogrammer.org/bigdata.shtml

上一篇下一篇

猜你喜欢

热点阅读