hbase数据库scan操作_HBase数据库常用操作命令

本文介绍了HBase数据库中的scan操作,并详细展示了如何创建、查看、插入、更新、删除数据以及判断表是否存在等基本操作。示例中通过put、scan、get、deleteall等命令对student表进行操作,涉及列族name和score,以及行键和时间戳的概念。
摘要由CSDN通过智能技术生成

一个student表,表的逻辑模型如下:行键为学号,时间戳是自动添加的,列族name是名字,列族score是各科分数。行键是唯一的。

行键

时间戳

列族name

列族score

20130001

T2

'zhangsan'

T3

score:Chinese='90'

T4

score:English='80'

20130002

T5

'lisi'

T6

score:Chinese='95'

......

Tn

进入HBase的shell:

[coder@h1 hbase-0.90.5]$ bin/hbase shell

HBase Shell; enter 'help' forlist of supported commands.

Type"exit"to leave the HBase Shell

Version0.90.5, r1212209, Fri Dec 9 05:40:36 UTC 2011hbase(main):001:0>

1、创建student表

hbase(main):002:0>create 'student','name','score'0 row(s) in 2.0570seconds

hbase(main):003:0>

student:表名

name:列族

score:列族

2、查看已创建的表

hbase(main):001:0>list

TABLE

student1 row(s) in 0.7590seconds

hbase(main):002:0>

3、向表中插入数据

使用put命令插入数据,参数为表名、行名(行键)、列名、值,其中列名需要列族作为前缀。

1)向student表中插入学号(行键)为2013001、名字为zhangsan的记录

hbase(main):001:0> put 'student','2013001','name:','zhangsan'0 row(s) in 1.1090seconds

2)查看表的记录

hbase(main):002:0>scan 'student'

ROW COLUMN+CELL2013001 column=name:, timestamp=1365846723665, value=zhangsan1 row(s) in 0.2110 seconds

3)给学号为2013001的学生记录分数

hbase(main):003:0> put 'student','2013001','score:Chinese','90'0 row(s) in 0.0360 seconds

hbase(main):005:0> put 'student','2013001','score:English','80'0 row(s) in 0.0290 seconds

hbase(main):006:0>scan 'student'

ROW COLUMN+CELL2013001 column=name:, timestamp=1365846723665, value=zhangsan2013001 column=score:Chinese, timestamp=1365846877328, value=90

2013001 column=score:English, timestamp=1365846957089, value=80

1 row(s) in 0.0580 seconds

4)查看表中记录总数

hbase(main):007:0>count 'student'1 row(s) in 0.0990 seconds

4、查看一行记录

使用get命令,参数为表名、行键

hbase(main):007:0> get 'student','2013001'

COLUMN CELL

name: timestamp=1365846723665, value=zhangsan

score:Chinese timestamp=1365846877328, value=90score:English timestamp=1365846957089, value=80

3 row(s) in 0.0350 seconds

5、判读一个表是否存在

hbase(main):001:0>exists 'student'

Table student does exist0 row(s) in 1.0400seconds

hbase(main):002:0>exists 'student2'

Table student2 does not exist0 row(s) in 0.0150 seconds

6、更新一条记录

hbase(main):001:0> put 'student','2013001','score:Chinese','100'0 row(s) in 0.8070seconds

hbase(main):002:0> get 'student','2013001'

COLUMN CELL

name: timestamp=1365846723665, value=zhangsan

score:Chinese timestamp=1365848492778, value=100score:English timestamp=1365846957089, value=80

3 row(s) in 0.0690seconds

hbase(main):003:0>

7、获取某一列的值

hbase(main):002:0> get 'student','2013001','score'

COLUMN CELL

score:Chinese timestamp=1365848492778, value=100score:English timestamp=1365846957089, value=80

2 row(s) in 0.0340seconds

hbase(main):003:0> get 'student','2013001','score:Chinese'

COLUMN CELL

score:Chinese timestamp=1365848492778, value=100

1 row(s) in 0.0320seconds

hbase(main):004:0>

8、删除整行

把行键为2013002的这一条记录删掉

hbase(main):001:0>scan 'student'

ROW COLUMN+CELL2013001 column=name:, timestamp=1365846723665, value=zhangsan2013001 column=score:Chinese, timestamp=1365848492778, value=100

2013001 column=score:English, timestamp=1365846957089, value=80

2013002 column=name:, timestamp=1365847639588, value=lisi2013002 column=score:Chinese, timestamp=1365847666351, value=70

2013002 column=score:English, timestamp=1365847709403, value=85

2 row(s) in 0.7380seconds

hbase(main):002:0> deleteall 'student','2013002'0 row(s) in 0.0150seconds

hbase(main):003:0>scan 'student'

ROW COLUMN+CELL2013001 column=name:, timestamp=1365846723665, value=zhangsan2013001 column=score:Chinese, timestamp=1365848492778, value=100

2013001 column=score:English, timestamp=1365846957089, value=80

1 row(s) in 0.0390seconds

hbase(main):004:0>

9、删除表

删除表之前需要先disable表

hbase(main):005:0>disable 'user'0 row(s) in 2.1600seconds

hbase(main):006:0>drop 'user'0 row(s) in 1.3750 seconds

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值