好程序员-千锋教育旗下高端IT职业教育品牌

400-811-9990
我的账户
好程序员

专注高端IT职业培训

亲爱的猿猿,欢迎!

已有账号,请

如尚未注册?

  • 客服QQ
  • 官方微信

    好程序员

    专注高端IT职业培训

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

[复制链接]
744 0
叶子老师 发表于 2019-8-16 15:19:06 | 只看该作者 |阅读模式 打印 上一主题 下一主题
好程序员大数据培训分享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表,包含infodata两个列族,默认在(default)
  create 'ns1:user', 'info', 'data'     ns1namesqpce)下建了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=dataname=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}
注意:这里的startrowendrow只的都是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 keyrk0001infodata列族的信息
  get 'user', 'rk01', 'info', 'data'          获取infodata数据
  get 'user','rk01',{COLUMN=>['info','data']}
  get 'user', 'rk01', {COLUMN => ['info:name', 'data:pic']}
  获取user表中row keyrk0001,列族为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个组:defaulthbase
create_namespace 'ns1'     创建一个名字为ns1namespace(相当于库)
create 'ns1:user', 'info', 'data'     ns1namesqpce)下建了useruser前加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://ppsiusa.com/bigdata.shtml

精彩内容,一键分享给更多人!
收藏
收藏0
转播
转播
分享
淘帖0
支持
支持0
反对
反对0
回复

使用道具 举报

您需要登录后才可以回帖

本版积分规则

关注我们
千锋好程序员

北京校区(总部):北京市海淀区宝盛北里西区28号中关村智诚科创大厦

深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619

杭州龙驰智慧谷校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层

郑州校区:郑州市二七区航海中路60号海为科技园C区10层、12层

开心蛋蛋网Copyright 2007-2019 北京千锋互联科技有限公司 .All Right

京ICP备12003911号-5 京公安网11010802011455号

请您保持通讯畅通1对1咨询马上开启