开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第18天
一、本篇笔记重点内容:
- HBase Shell
- HBase命名空间的命令:创建、删除、查询
- 表管理
二、 详细知识点介绍
HBase Shell
HBase Shell中涉及到命名空间、表、数据增删改查、工具、权限等命令,这些命令对于掌握并管理HBase是非常关键的。
HBase提供了九大类命令,包括通用命令、DDL命令、DML命令、命名空间、工具、快照、安全、可视化标签、复制等。这些命令可以帮助管理与操作HBase集群。每一类命令的具体作用如下表:
在HBase Shell中输入help命令,可以查看所有分类及其所属命令的清单。
hbase> help
命名空间
从HBase 0.98版本开始支持命名空间,命名空间用于对HBase中的表进行逻辑管理,类似于传统DBMS中数据库的概念。一个数据库里可以建多张表,同理,在HBase的命名空间里,可以管理多张表。
HBase命名空间的命令包括:创建、删除、查询等操作。
HBase命名空间的命令:创建、删除、查询
- 创建命名空间
create_namespace 'bigdata'
- 查看命名空间
list_namespace
- 查看命名空间中的表
list_namespace_tables ‘hbase’
- 查看命名空间描述
describe_namespace 'hbase’
- 修改命名空间
例如,为bigdata设定两个属性信息,设定的规则为{METHOD=>’set’, ‘key’=>’value’},在key与value中填充要设定的属性名和属性值:
alter_namespace 'bigdata’,{METHOD=>’set’, ‘memo’=>'bigdata'}
alter_namespace 'bigdata’,{METHOD=>’set’, ‘createtime’=>'2016-01-30'}
describe_namespace 'bigdata’
要取消已设定的属性,规则为{METHOD=>’unset’, NAME=>‘key’,指定取消的属性名,填充到key:
alter_namespace 'bigdata’,{METHOD=>’unset’, NAME=>‘memo’}
describe_namespace 'bigdata’
- 删除命名空间
drop_namespace 'big’
list_namespace
表管理
HBase的表管理对应于前面提到的DDL命令,它定义了对表及其结构的操作,包括表的创建、结构修改、表的停用、表的删除、批量停用与删除表等。
使用create命令能够创建一张表,需要指定的参数包括表名称、列族名称、命名空间。
1)查看有哪些表
hbase(main)> list
2)创建表
使用create命令能够创建一张表,需要指定的参数包括表名称、列族名称、命名空间。
语法:create < table>, {NAME => , VERSIONS => }
例如:创建表t1,有两个family name:f1,f2,且版本数均为2
hbase(main)> create 't1',{NAME => 'f1', VERSIONS => 2},{NAME => 'f2', VERSIONS => 2}
3)删除表
分两步:首先disable,然后drop
例如:删除表t1
hbase(main)> disable 't1'
hbase(main)> drop 't1'
4)查看表的结构
语法:describe
例如:查看表t1的结构
hbase(main)> describe 't1'
5)修改表结构
修改表结构必须先disable
语法:alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
例如:修改表test1的cf的TTL为180天
hbase(main)> disable 'test1'
hbase(main)> alter 'test1',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta', TTL=>'15552000'}
hbase(main)> enable 'test1'