第一大题:namespace的shell操作
1、创建一个命名空间myns,同时设置属性author为自己,time为2020-05-11
create_namespace 'myns', {'author' => 'michael', 'time' => '2020-05-11'}
alter_namespace 'myns', {METHOD => 'set', 'company' => 'huawei'}
3、列出所有的命名空间
list_namespace
4、列出hbase命令空间下的所有的表
list_namespace_tables 'hbase'
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] 举报,一经查实,本站将立刻删除。