Hbase shell 操作(general、ddl、dml、Filter 过滤器)
1、进入 Hbase 客户端
概述:大数据生态里的各种软件,基本都会给出 shell 命令行操作。所以在拿到新上手的软件的时候先找到怎么进入命令行,然后相应要想到 help 命令,查看命令帮助。别着急一股脑儿扎进去敲各种命令,这就是思路,思路很重要。
首先在你安装的随意一台服务器节点上,执行命令:hbase shell,会进入到你的 hbase shell 客户端:
进入之后先别着急,先看一下启动提示。
其实是不是有一句很重要的话:
Use “help” to get list of supported commands.
Use “exit” to quit this interactive shell.
意在告诉怎么获得帮助,怎么退出客户端。
(1)help 获取帮助;
(2)exit 退出 hbase shell 客户端。
hbase 客户端中如果需要删除(退格)输入,需要键盘 ctrl + delete。
2、help 命令
hbase(main):001:0> help
具体使用:
hbase(main):004:0> help ‘ddl’
hbase(main):004:0> help ‘get’
着重讲 general,ddl,dml。
3、general:普通命令组
命令 | 描述 |
---|---|
status | 查看集群状态 |
whoami | 角色信息 |
table_help | 关于表操作的另外一种方式的帮助文档 |
version | 集群的版本信息 |
在 table_help 命令中,通过创建表的实例,然后通过这个表的实例做操作,这样在命令单独使用时,就不用去传表这个参数了。
4、ddl:定义组
命令 | 描述 |
---|---|
list | 列出所有表 |
create | 创建表 |
describe(desc) | 查看表的详细信息 |
alter | 修改表的定义 |
exists | 查看表存在不存在 |
disable | 使表失效 |
enable | 启用表 |
is_disabled | 判断表是否是失效状态 |
is_enabled | 判断表是否是启用状态 |
drop | 删除表 |
4.1、列出所有表:list
4.2、创建表:create
create "table_test",'column_family1','column_family2'
还可以这样创建,好处就是可以方便我们给表的每个列簇设置一些属性,如果按照上面的方式创建,那就表示所有的列簇的属性都是取默认值:
create 'table_test1',{NAME => 'cf1', VERSIONS => 3}, {NAME => 'cf2', VERSIONS => 2}
指定创建的表 table_test1中第一个列簇 cf1 可以存储 3 个历史版本信息,第二个列簇 cf2 可以存储 2 个历史版本信息。
PS:注意创建表时语句中的关键字
4.3、查看表的详细信息:describe(desc)
desc "table_test"
4.4、修改表的定义:alter
4.4.1、增加一列簇
alter "table_test","add_family3"
还可以这样使用:
alter 'table_test', {NAME => 'another_family', VERSIONS => 4}
依然是表名后面的参数都是列簇的定义。
4.4.2、删除一列簇
alter 'table_test', {NAME => 'another_family', METHOD => 'delete'}
还可以这样使用:
alter 'table_test', 'delete' => 'add_family'
4.5、查看表是否存在:exists
exists "table_test"
exists "table_test111111"
4.6、表失效与启用:disable、enable
(1)使表失效:disable
(2)判断表是否是失效状态:is_disabled
(3)启用表:enable
(4)判断表是否是启用状态:is_enabled
disable "table_test"
is_disabled "table_test"
enable "table_test"
is_enabled "table_test"
4.7、删除表:drop
drop 'table_test'