绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
好程序员大数据学习路线分享Hbase指令学习
2020-05-18 17:58:04

好程序员大数据学习路线分享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 标志

       xy 02:16010

       xy 02:16010

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

Hbase默认有两个组: D eflult 和 H base

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

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

amespace 下的操作

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'      查看内容描述


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


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913892/viewspace-2653924/,如需转载,请注明出处,否则将追究法律责任。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Hbase资料库
创建时间:2020-05-08 14:42:11
Hbase资料库一站式查询。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
  • Leila
    专家
  • 飘絮絮絮丶
    专家
戳我,来吐槽~