HBase 是一个分布式的、面向列的 NoSQL 数据库,它基于 Google 的 Bigtable 模型。以下是一些基本的 HBase Shell 命令,可以帮助你进行日常的 HBase 操作:
基本命令
- 获取帮助:
help help 'status'
- 查看服务器状态:
status
- 查看版本信息:
version
表操作
- 创建表:
例如:create '表名', '列簇名1', '列簇名2'... create '表名', {NAME => '列簇名1'}, {NAME => '列簇名2'}...
create 'student', 'baseinfo', 'schoolinfo'
- 删除表:
例如:disable '表名' drop '表名'
disable 'student' drop 'student'
- 修改表名:
例如:snapshot '原表名', '镜像名' clone_snapshot '镜像名', '新表名' delete_snapshot '镜像名'
snapshot 'student', 'temp' clone_snapshot 'temp', 'stu' delete_snapshot 'temp'
- 查看所有的表:
list
- 查看表的基本信息:
例如:desc '表名'
desc 'Student'
- 检查表是否存在:
exists '表名'
- 表的启用和禁用:
disable '表名' is_disabled '表名' enable '表名' is_enabled '表名'
增删改
- 添加列簇:
例如:alter '表名', '列簇名'
alter 'student', 'teacherinfo'
- 删除列簇:
例如:alter '表名', {NAME => '列簇名', METHOD => 'delete'}
alter 'student', {NAME => 'teacherinfo', METHOD => 'delete'}
- 更改列簇存储版本的限制:
例如:alter '表名', {NAME => '列簇名', VERSIONS => 版本数}
alter 'student', {NAME => 'baseinfo', VERSIONS => 3}
查询
- get 查询:
get '表名', '行键'
- scan 查询:
scan '表名'
用户权限
- 分配权限:
例如:grant <用户> <权限> <表> <列族> <列名>
grant 'test', 'RW', 't1'
批量导入文件
- 导入数据:
importtsv '表名' '列族名' '文件路径'
命名空间
- 创建命名空间:
create_namespace '命名空间名'
- 查看命名空间:
list_namespace
- 命名空间下建表:
create '命名空间:表名', '列簇名'
- 查看命名空间下的表:
list_namespace_tables '命名空间名'
这些命令涵盖了 HBase Shell 的基本操作,帮助你更好地管理和使用 HBase 数据库。