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

首先启动HBASE

启动HBASEshell

添加数据

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

hbase(main):002:0> create 'test','data'Created table testTook 0.9443 seconds => Hbase::Table - testhbase(main):003:0> put 'test','row1','data:1','value1'Took 0.0520 seconds hbase(main):004:0> put 'test','row2','data:2','value2'Took 0.0037 seconds hbase(main):005:0> put 'test','row3','data:3','value3'Took 0.0049 seconds 

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

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

hbase(main):006:0> get 'test','row'COLUMN CELL 0 row(s)Took 0.0641 seconds 

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

hbase(main):007:0> scan 'test'ROWCOLUMN+CELL row1column=data:1, timestamp=1669877544097, value=value1row2column=data:2, timestamp=1669877560974, value=value2row3column=data:3, timestamp=1669877574977, value=value3 3 row(s)Took 0.0253 seconds 

删除数据、删除表

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

删除整行数据:

deleteall 'test','row1'

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

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

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

hbase(main):008:0> deleteall 'test','row1'Took 0.0501 seconds hbase(main):009:0> disable 'test'Took 0.4625 seconds hbase(main):010:0> drop 'test'Took 0.2602 seconds hbase(main):011:0> listTABLE 0 row(s)Took 0.0280 seconds => []hbase(main):012:0> 

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

disable 表名drop 表名

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

编程要求

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

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

hbase(main):019:0> put 'mytable','row1','data:1','zhangsan'Took 0.0044 seconds hbase(main):020:0> put 'mytable','row2','data:2','zhangsanfeng'Took 0.0042 seconds hbase(main):021:0> put 'mytable','row3','data:3','zhangwuji'Took 0.0033 seconds hbase(main):022:0> get 'mytable','row'COLUMN CELL 0 row(s)Took 0.0070 seconds hbase(main):023:0> scan 'mytable'ROWCOLUMN+CELL row1column=data:1, timestamp=1669878583082, value=zhangsanrow2column=data:2, timestamp=1669878596532, value=zhangsanfengrow3column=data:3, timestamp=1669878608978, value=zhangwuji3 row(s)Took 0.0072 seconds hbase(main):024:0>