微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hbase shell练习题

第一大题:namespace的shell操作

1、创建一个命名空间myns,同时设置属性author为自己,time为2020-05-11

create_namespace 'myns', {'author' => 'michael', 'time' => '2020-05-11'}

2、为myns添加一个属性company为huawei

alter_namespace 'myns', {METHOD => 'set', 'company' => 'huawei'}

3、列出所有的命名空间

list_namespace

4、列出hbase命令空间下的所有的表

list_namespace_tables 'hbase'

5、查看myns命名空间的属性信息

 describe_namespace 'myns'

6、能直接删除hbase命令空间吗?为什么?

不能,因为hbase里有两张表,而删除时,只能删除没有表的命名空间

第二大题:table的ddl操作(shell练习)

1、写一个建表语句,表名student, 列族base_info的版本数为3个, 列族score的版本数为5个,列族address版本数为5个同时存活时间为7天

create 'myns:student', {NAME => 'base_info', VERSIONS => 3}, {NAME => 'score', VERSIONS => 5}, {NAME => 'address', VERSIONS => 5, TTL => 604800}

2、查看student表的列族的信息

describe 'myns:student'

3、修改base_info列族的BLOOMFILTER属性为rowcol,存活时间为7天

alter 'myns:student', {NAME => 'base_info', BLOOMFILTER => 'rowcol', TTL => 604800}

4、list和list_namespace_tables的区别

list是列出所有的表,除了两张系统表
list_namespace_tables是列出指定命名空间里的表

5、为表student追加两个列族 f1,f2

alter 'myns:student', 'f1', 'f2'

6、删除列族f1和f2

alter 'myns:student',{NAME=>'f1',METHOD=>'delete'},{NAME=>'f2',METHOD=>'delete'}
或者一个一个删除
alter 'myns:student','delete'=>'f1'
alter 'myns:student','delete'=>'f2'

7、怎么删除hbase中的一张表

disable禁用表,再drop删除

第三大题:table的crud操作(shell练习)

1、将一下数据添加到student表(请放到相应的列族中)

sid	 name  age  gender  math   chinese   math    provinces   city  street
201901010001 zhaoyun 23	m  90  89  100  hlj	harbin	pudonglu
201901010002 zhangfei 24 f 80 78 90 hebei	shijiazhuang  tianyulu
201901010003 guanyu                             jilin
put 'myns:student','201901010001','base_info:name','zhaoyun'
put 'myns:student','201901010001','base_info:age',23
put 'myns:student','201901010001','base_info:gender','m'
put 'myns:student','201901010001','score:math',90
put 'myns:student','201901010001','score:chinese',89
put 'myns:student','201901010001','score:english',100
put 'myns:student','201901010001','address:provinces','hlj'
put 'myns:student','201901010001','address:city','habin'
put 'myns:student','201901010001','address:street','pudonglu'

put 'myns:student','201901010002','base_info:name','zhangfei'
put 'myns:student','201901010002','base_info:age',24
put 'myns:student','201901010002','base_info:gender','f'
put 'myns:student','201901010002','score:math',80
put 'myns:student','201901010002','score:chinese',78
put 'myns:student','201901010002','score:english',90
put 'myns:student','201901010002','address:provinces','hebei'
put 'myns:student','201901010002','address:city','shijiazhuang'
put 'myns:student','201901010002','address:street','tianyulu'

put 'myns:student','201901010003','base_info:name','guanyu'
put 'myns:student','201901010003','address:provinces','jilin'

2、查询表中的所有数据

scan 'myns:student'

3、查询每个人的姓名和所有成绩

scan 'myns:student', {COLUMNS => ['base_info:name', 'score']}

4、查询201901010002的的地址信息

get 'myns:student', '201901010002', 'address'

5、修改201901010002的name为zhangfei1,再次修改name为zhangfei2

put 'myns:student', '201901010002', 'base_info:name', 'zhangfei1'
put 'myns:student', '201901010002', 'base_info:name', 'zhangfei2'

6、查询201901010002的name的历史版本

get 'myns:student', '201901010002', {COLUMN => 'base_info:name', VERSIONS => 3}

7、删除201901010002的name的最旧的两个版本

delete 'myns:student', '201901010002', 'base_info:name', 1598404629426

删除倒数第二个旧的

8、删除第三行记录

deleteall 'myns:student', '201901010003'

9、如何删除一张表中的所有记录

truncate 表名

第四大题:API的练习

1. 创建命名空间ns1,要求添加属性author,company,comment. 属性自定义
2. 输出命名空间ns1的属性信息
3. 在命名空间ns1下创建表emp表,提供以下列族
	f1:    布隆过滤器row		版本2个	存活时间7天
	f2:    布隆过滤器rowcol	版本5个	存活时间2天
	f3:			  属性值都是认的。
4. 将emp表中的14行记录,插入5行记录即可。(思考,谁应该作为rowkey)
5. 查询一个员工的所有单元格

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐