• 09-13-Hbase-shell入门操作


    09-Hbase-shell入门操作:

    HBase Shell 操作

    DDL基本操作

    1.进入 HBase 客户端命令行

    [root@hadoop102 hbase-1.3.1]# bin/hbase shell

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wXnfGn8i-1669555190416)(png/1617594832289.png)]

    2.查看帮助命令

    hbase(main):001:0> help

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dFF0Ob2U-1669555190417)(png/1617594883331.png)]

    3.查看当前数据库中有哪些表

    hbase(main):002:0> list

    创建表

    hbase(main):005:0> create ‘student’,‘info’
    hbase(main):007:0> create ‘stu’,‘info1’,‘info2’
    hbase(main):008:0> list
    TABLE
    stu
    student

    => [“stu”, “student”]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HOFpiRxS-1669555190417)(png/1617596673878.png)]

    查看表信息

    hbase(main):009:0> describe ‘stu’

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wylj6gss-1669555190418)(png/1617596740139.png)]

    更改表信息

    hbase(main):012:0> alter ‘student’,{NAME=>‘info’,VERSIONS=>3}

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-16XCGvJh-1669555190418)(png/1617596789121.png)]

    删除表

    hbase(main):014:0> drop ‘student’

    ERROR: Table student is enabled. Disable it first.

    Here is some help for this command:
    Drop the named table. Table must first be disabled:
    hbase> drop ‘t1’
    hbase> drop ‘ns1:t1’

    hbase(main):015:0> disable ‘student’
    0 row(s) in 3.0520 seconds

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cAtxl1mA-1669555190419)(png/1617596278472.png)]

    hbase(main):016:0> drop ‘student’
    0 row(s) in 3.0470 seconds

    hbase(main):017:0> list

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vWMIWVwk-1669555190419)(png/1617596824431.png)]

    命名空间:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4IKB6i4u-1669555190420)(png/1618234941326.png)]

    创建命名空间

    hbase(main):004:0> create ‘bigdata:stu’,“info”
    hbase(main):005:0> list

    删除命名空间

    hbase(main):006:0> drop_namespace ‘bigdata’

    ERROR: org.apache.hadoop.hbase.constraint.ConstraintException: Only empty namespaces can be removed. Namespace bigdata has 1 tables
    Drop the named namespace. The namespace must be empty.

    hbase(main):007:0> disable ‘bigdata:stu’

    hbase(main):008:0> drop ‘bigdata:stu’
    hbase(main):009:0> drop_namespace ‘bigdata’

    hbase(main):010:0> list

    DML基本操作(重)

    增加

    hbase> put ‘ns1:t1’, ‘r1’, ‘c1’, ‘value’

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8mAZL1a9-1669555190421)(png/1618235608289.png)]

    hbase(main):002:0> scan ‘stu’
    ROW COLUMN+CELL
    1001 column=info1:name, timestamp=1618235653696, value=zhangsan
    1 row(s) in 1.4550 seconds

    ghbase(main):002:0> get

    ghbase(main):002:0> get ‘stu’,‘1001’

    hbase(main):003:0> put ‘stu’,‘1001’,‘info1:sex’,‘male’

    hbase(main):004:0> put ‘stu’,‘1001’,‘info2:addr’,‘shanghai’

    hbase(main):005:0> put ‘stu’,‘1002’,‘info1:name’,‘lisi’

    hbase(main):006:0> put ‘stu’,‘1002’,‘info1:phone’,‘18332456666’

    hbase(main):007:0> put ‘stu’,‘1003’,‘info2:addr’,‘beijing’

    hbase(main):008:0> scan ‘stu’

    hbase(main):009:0> get ‘stu’,‘1001’

    hbase(main):010:0> get ‘stu’,‘1001’,‘info1:name’

    hbase(main):011:0> get ‘stu’,‘1001’,‘info1’

    hbase(main):012:0> scan ‘stu’,{STARTROW=>‘1001’,STOPROW=>‘1003’}//左闭右开

    hbase(main):013:0> scan ‘stu’,{STARTROW=>‘1001’}=10’,‘info1:name’,‘xiaohong’

    hbase(main):014:0> put ‘stu’,‘10010’,‘info1:name’,‘xiaohong’
    0 row(s) in 0.4240 seconds

    hbase(main):015:0> scan ‘stu’,{STARTROW=>‘1001’}//注意顺序

    hbase(main):002:0> put ‘stu’,‘1001’,‘info1:name’, ‘zangsan02’

    hbase(main):003:0> scan ‘stu’
    ROW COLUMN+CELL

    1001 column=info1:name, timestamp=1618237274701, value=zangsan02

    1001 column=info1:sex, timestamp=1618235992343, value=male
    1001 column=info2:addr, timestamp=1618236016442, value=shanghai
    10010 column=info1:name, timestamp=1618236476571, value=xiaohong
    1002 column=info1:name, timestamp=1618236039169, value=lisi
    1002 column=info1:phone, timestamp=1618236064087, value=18332456666
    1003 column=info2:addr, timestamp=1618236088958, value=beijing
    4 row(s) in 0.0670 seconds

    hbase(main):004:0> scan ‘stu’,{RAW=>true,VERSIONS=>10}
    ROW COLUMN+CELL

    1001 column=info1:name, timestamp=1618237274701, value=zangsan02
    1001 column=info1:name, timestamp=1618235653696, value=zhangsan

    1001 column=info1:sex, timestamp=1618235992343, value=male
    1001 column=info2:addr, timestamp=1618236016442, value=shanghai
    10010 column=info1:name, timestamp=1618236476571, value=xiaohong
    1002 column=info1:name, timestamp=1618236039169, value=lisi
    1002 column=info1:phone, timestamp=1618236064087, value=18332456666
    1003 column=info2:addr, timestamp=1618236088958, value=beijing
    4 row(s) in 0.2650 seconds

    hbase(main):007:0> put ‘stu’,‘1001’,‘info1:name’,‘zangsan03’,1618235653670

    hbase(main):008:0> get ‘stu’,‘1001’,‘info1:name’
    COLUMN CELL
    info1:name timestamp=1618237274701, value=zangsan02

    hbase(main):010:0> scan ‘stu’,{RAW=>true,VERSIONS=>10}
    ROW COLUMN+CELL
    1001 column=info1:name, timestamp=1618237274701, value=zangsan02
    1001 column=info1:name, timestamp=1618235653696, value=zhangsan
    1001 column=info1:name, timestamp=1618235653670, value=zangsan03

    删除(以时间戳最大返回)

    hbase(main):001:0> delete ‘stu’,‘1001’,‘info1:sex’

    hbase(main):002:0> scan ‘stu’ //扫描表

    hbase(main):003:0> delete ‘stu’,‘1001’,‘info1:name’ //删除列

    hbase(main):004:0> scan ‘stu’,{RAW=>true,VERSIONS=>10}//扫描全部版本

    hbase(main):005:0> deleteall //deleteall的用法

    hbase(main):006:0> deleteall ‘stu’,‘1003’

    hbase(main):008:0> truncate ‘stu’ //删除表
    Truncating ‘stu’ table (it may take a while):

    • Disabling table…
    • Truncating table…
      0 row(s) in 12.5740 seconds

    hbase(main):009:0> scan ‘stu’
    ROW COLUMN+CELL
    0 row(s) in 1.0580 seconds

    版本VERSIONS的初步理解(hbase以后最大的保存的版本数量)

    hbase(main):013:0> create ‘stu2’,‘info’
    hbase(main):014:0> put ‘stu2’,‘1005’,‘info:name’,‘lisi’

    hbase(main):015:0> put ‘stu2’,‘1005’,‘info:name’,‘zhangsan’
    0 row(s) in 0.0270 seconds

    hbase(main):016:0> alert ‘stu2’,{NAME=>‘info’,VERSIONS=>2}
    NoMethodError: undefined method `alert’ for #Object:0x46fb0c33

    hbase(main):017:0> alter ‘stu2’,{NAME=>‘info’,VERSIONS=>2}
    Updating all regions with the new schema…
    0/1 regions updated.
    1/1 regions updated.
    Done.
    0 row(s) in 4.3310 seconds

    hbase(main):018:0> put ‘stu2’,‘1001’,‘info:name’,‘zhangsan’
    0 row(s) in 0.0190 seconds

    hbase(main):019:0> put ‘stu2’,‘1001’,‘info:name’,‘lisi’
    0 row(s) in 0.0110 seconds

    hbase(main):020:0> get ‘stu2’,‘1001’,{COLUMN=>‘info:name’,VERSIONS=>3}
    COLUMN CELL
    info:name timestamp=1618239366717, value=lisi
    info:name timestamp=1618239356363, value=zhangsan
    0> get ‘stu2’,‘1001’,{COLUMN=>‘info:name’,VERSIONS=>3}
    COLUMN CELL
    info:name timestamp=1618239366717, value=lisi
    info:name timestamp=1618239356363, value=zhangsan
    1 row(s) in 0.0200 seconds

  • 相关阅读:
    odoo15重建数据库(windows版本)
    用事务代码查看视图的函数
    基于jsp+mysql+Spring+mybatis+Springboot的Springboot实现一个在线家庭记账管理平台
    JavaScript-Object.defineProperty函数
    R语言基于ggplot绘制多条ROC曲线(2)
    Crosslink-NX器件应用案例(2): MIPI的多源合成(MUX)与分发(DeMUX)
    linux离线源码安装Redis
    切水果游戏开发1
    2021年研究生数学建模D题:抗胰腺癌候选药物的优化建模
    9. python int( )函数
  • 原文地址:https://blog.csdn.net/qq_37171694/article/details/128070118