• 第3关:添加数据、删除数据、删除表


    为了完成本关任务,你需要掌握:1.如何使用HBase shell命令添加数据、2.如何使用命令删除表。

    首先启动HBASE

    启动HBASEshell

     

    添加数据

    我们来给上一关创建的test表的data添加一些数据:

    1. hbase(main):002:0> create 'test','data'
    2. Created table test
    3. Took 0.9443 seconds
    4. => Hbase::Table - test
    5. hbase(main):003:0> put 'test','row1','data:1','value1'
    6. Took 0.0520 seconds
    7. hbase(main):004:0> put 'test','row2','data:2','value2'
    8. Took 0.0037 seconds
    9. hbase(main):005:0> put 'test','row3','data:3','value3'
    10. Took 0.0049 seconds

    从上面例子我们可以看出,使用put命令可以用来添加数据,使用get命令可以获取数据。

    当然我们肯定还会有一个需求:查看所有的数据。

    1. hbase(main):006:0> get 'test','row'
    2. COLUMN CELL
    3. 0 row(s)
    4. Took 0.0641 seconds

    输入scan命令就可以查看所有的数据了。

    1. hbase(main):007:0> scan 'test'
    2. ROW COLUMN+CELL
    3. row1 column=data:1, timestamp=1669877544097, value=value1
    4. row2 column=data:2, timestamp=1669877560974, value=value2
    5. row3 column=data:3, timestamp=1669877574977, value=value3
    6. 3 row(s)
    7. Took 0.0253 seconds

    删除数据、删除表

    我们经常会添加错数据,想要删除然后重新添加应该怎么做呢?

    删除整行数据:

    deleteall 'test','row1'

    指令:deleteall 表名,行名称即可删除整行数据。

    有时候我们还想将创建好的表删除,怎么做呢?

    为了移除test这个表,首先我们要把它设为禁用,然后在删除:

    1. hbase(main):008:0> deleteall 'test','row1'
    2. Took 0.0501 seconds
    3. hbase(main):009:0> disable 'test'
    4. Took 0.4625 seconds
    5. hbase(main):010:0> drop 'test'
    6. Took 0.2602 seconds
    7. hbase(main):011:0> list
    8. TABLE
    9. 0 row(s)
    10. Took 0.0280 seconds
    11. => []
    12. hbase(main):012:0>

    可以发现删除表需要两个步骤:

    1. disable 表名
    2. drop 表名

    接着我们ctrl + c或者 输入exit退出HBase shell命令行。

    编程要求

    好了,到你啦,在HBase中创建表mytable,列为data,并在列族data中添加三行数据:

    • 行号分别为:row1row2row3
    • 列名分别为:data:1data:2data:3
    • 值分别为:zhangsanzhangsanfengzhangwuji
    1. hbase(main):012:0> create 'mytable','data'
    2. Created table mytable
    3. Took 0.7300 seconds
    4. => Hbase::Table - mytable

    1. hbase(main):019:0> put 'mytable','row1','data:1','zhangsan'
    2. Took 0.0044 seconds
    3. hbase(main):020:0> put 'mytable','row2','data:2','zhangsanfeng'
    4. Took 0.0042 seconds
    5. hbase(main):021:0> put 'mytable','row3','data:3','zhangwuji'
    6. Took 0.0033 seconds
    7. hbase(main):022:0> get 'mytable','row'
    8. COLUMN CELL
    9. 0 row(s)
    10. Took 0.0070 seconds
    11. hbase(main):023:0> scan 'mytable'
    12. ROW COLUMN+CELL
    13. row1 column=data:1, timestamp=1669878583082, value=zhangsan
    14. row2 column=data:2, timestamp=1669878596532, value=zhangsanfeng
    15. row3 column=data:3, timestamp=1669878608978, value=zhangwuji
    16. 3 row(s)
    17. Took 0.0072 seconds
    18. hbase(main):024:0>

  • 相关阅读:
    六安RapidSSL泛域名https能保护几个域名
    Maven 下载安装配置
    EventSource(SSE) 实时通信的服务器推送机制
    【2022南京大学jyy操作系统】(二) 多处理器编程
    使用sklearn报AttributeError: ‘NoneType‘ object has no attribute ‘split‘
    springboot及swagger整合报错:documentationPluginsBootstrapper
    tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)
    Navicat 16.1 的新功能 - 第 1 部分
    程序员如何利用周末提高自己?
    前端开发规范
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/128128950