Hbase基本shell运用

发布 : 2016-02-12 分类 : 大数据 浏览 :

学生成绩表

1
2
3
name	grad	course
zkb 5 97 87
baoniu 4 89 80

1.建立一个表格scores具有两个列族grad和course

1
2
3
hbase(main):007:0> create 'score','grade','course'

hbase(main):008:0> describe 'score'

2.查看当前Hbase中具有哪些表

1
hbase(main):015:0> list

3.查看表的构造

1
hbase(main):008:0> describe 'score'

4.加入一行数据,行名称为matrix,列族grade的列名为””,值为5

1
2
3
hbase(main):009:0> put 'score','zkb','grade:','5'

hbase(main):013:0> put 'score','matrix','grade:','12'

1
Hbase不能存储中文?

5.给matrix这一行的数据的列族course添加一列<math,97>

1
2
3
4
5
6
7
8
9
10
11
12
13
hbase(main):017:0> put 'score','matrix','course:english','137'


hbase(main):018:0> put 'score','matrix','course:math','142'


hbase(main):019:0> put 'score','matrix','course:chinese','127'


hbase(main):020:0> put 'score','matrix','course:science','132'


hbase(main):021:0> put 'score','matrix','course:music','122'

6.查看scores表中matrix的相关数据

1
hbase(main):025:0> get 'score','matrix'

7.查看scores表中所有数据

1
hbase(main):028:0> scan 'score',{COLUMNS =>'course:english',LIMIT =>10, VERSION => 1}

8.查看scores表中所有数据courses列族的所有数据

1
hbase(main):030:0> scan 'score',{COLUMNS => 'course'}

9.删除scores表

1
2
hbase(main):031:0> disable 'scores'
hbase(main):031:0> drop 'scores'

10.hbase DDL和DML

DDL操作

1
2
3
1.创建一个表

hbase(main):003:0> create 'member','member_id','address','info'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2.获得表的描述
hbase(main):002:0> list

3.查看表描述
hbase(main):004:0> describe 'member'

4.删除一个列族,alter,disableenable
我们之前建了3个列族,但是发现memeber_id这个列族是多余的,因为它就是主键,所以我们要将其删除
hbase(main):014:0> disable 'member'

hbase(main):022:0> alter 'member',{NAME=>'member_id',METHOD=>'delete'}

hbase(main):023:0> enable 'member'

5.查询表是否存在
hbase(main):024:0> exists 'member'

1
2
6.判断表是否enable
hbase(main):025:0> is_enabled 'member'

1
2
7.判断表是否disable
hbase(main):026:0> is_disabled 'member'

DML操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1.插入几条记录
hbase(main):027:0> put 'member','matrix','info:age','24'

hbase(main):028:0> put 'member','matrix','info:birthday','1996-10-12'

hbase(main):029:0> put 'member','matrix','info:company','alibaba'

hbase(main):029:0> put 'member','matrix','info:county','china'

hbase(main):031:0> put 'member','matrix','address:province','guangdong'

hbase(main):032:0> put 'member','matrix','address:city','shenzhen'

hbase(main):033:0> put 'member','matrix','address:town','baoan'

2.获取一个id的所有数据
hbase(main):034:0> get 'member','matrix'

1
2
3.获取一个id,一个列族的所有数据
hbase(main):035:0> get 'member','matrix','info'

1
2
4.获取一个id,一个列族中一个列的所有数据
hbase(main):035:0> get 'member','matrix','info:age'

1
2
3
5.更新一条记录
hbase(main):035:0> put 'member','matrix','info:age','99'
hbase(main):035:0> get 'member','matrix','info:age'

1
2
3
6.通过timestamp来获取两个版本的数据
7.全表扫描
hbase(main):040:0> scan 'member'

1
2
8.删除id为temp的值的'info:age'字段
hbase(main):041:0> delete 'member','matrix','info:age'

1
2
9.删除整行
hbase(main):042:0> deleteall 'member','matrix'

1
2
10.查询表中有多少行
hbase(main):044:0> count 'member'

1
2
3
11.给'matrix'这个id增加'info:age'字段,并使用counter实现递增
hbase(main):046:0> incr 'member','Tom','info:age'
hbase(main):047:0> get 'member','Tom','info:age'

1
2
12.获取当前count的值
hbase(main):049:0> get_counter 'member','Tom','info:age'

1
2
13.将整张表清空
hbase(main):051:0> truncate 'member'

1
可以看出,hbase是先将表disable掉,然后drop掉后重建表来实现truncate的功能的
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/02/12/Hbase基本shell运用/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹