HBase的shell操作
1、Gerneral
- status:查询当前服务器状态
- Version:查看当前版本
- Whoami:查询当前hbase用户
2、namespace的操作
-
create_namespace: 创建命名空间,相当于关系型数据库里创建一个数据库
- 创建一个命名空间名为‘luodesong’,并添加属性
create_namespace ‘luodesong’, {'PROPERTY_NAME'=>'PROPERTY_VALUE'}
-
alter_namespace: 修改,添加,删除命名空间的属性
- 设置命名空间luodesong的属性
alter_namespace luodesong, {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
- 删除命名空间luodesong的属性
alter_namespace ‘luodsong’, {METHOD => 'unset', NAME=>'PROPERTY_NAME'}
-
describe_namespace: 获取命名空间的描述
- 获取命名空间‘luodesong’的描述信息
describe_namespace ‘luodesong
-
drop_namespace: 删除命名空间
- 删除命名空间‘luodesong’
drop_namespace ‘luodesong’
-
list_namespace: 查看所有命名空间
-
list_namespace_tables: 查看命名空间下的所有表
- 查看命名空间‘hbase’下的所有表
list_namespace_tables ‘hbase’
3、DDL
-
Create: 创建一个表:create ‘namespace:teblename’ ‘cf1:a’ ‘cf1:b’
- 创建一个表名为"test1",cf为列族
create ‘javaTest:test1’,'cf'
-
list: 列出namespace的所有表:list ‘namspace’
- 列出javaTest的所有表
list 'javaTest
-
disable : 表的禁用
- 禁用表‘javaTest:test1
disable ‘javaTest:test1’
-
is_disable : 检验是否被禁用
- 验证表‘javaTest:test1是否被禁用
is_disable ‘javaTest:test1’
-
enable : 开启
- 启用表‘javaTest:test1
enable ‘javaTest:test1‘
-
is_enabled : 检验是否启用
- 验证表‘javaTest:test1是否被启用
is_enabled ‘javaTest:test1’
-
describe : 查看描述信息
- 查看‘JavaTest:test1‘表的描述信息
describe ‘JavaTest:test1‘
-
alter: 修改表
- 给表‘JavaTest:test1’加入一个列族‘cf1’
alter ‘JavaTest:test1’,’cf1’
-
exists : 验证存在否
- 验证表‘JavaTest:test1’是否存在
exists ‘JavaTest:test1’
-
drop : 删除表
disable ‘JavaTest:test2‘
drop ‘JavaTest:test2‘’
disable_all:禁用多个表
drop_all:删除多个表,表需先禁用,然后才能删除
4. DML
- 先在命名空间‘Test(如果没有这个命名空间要先创建此命名空间)下创建一张表test,列族为‘cf’作为测试用
create ‘Test:test’,’cf’
put:添加cell(数据)
向命名空间Test下表test的rowkey为r1的列族下添加数据
put Test:test','r1','cf:uname','zhangsan'
-
1、scan: 扫描全表
scan ‘Test:test’
-
2、get: 得到某一列或cell的数据。
##向命名空间Test下表test的rowkey为r1的列族下添加数据 put Test:test','r1','cf:age','23' ##获取列族cf下rowkey为r1的所有数据 get ‘Test:test’,’r1’ ##获取列族cf下rowkey为r1,列名为uname的数据(获取一个cell) get Test:test','r1','cf:uname'
-
3、truncate: 清空表,不用disable (只是清空数据)
##清空表‘Test:test’ truncate ‘Test:test’