表操作命令
创建表(create)
用于创建新表,可以指定列族及其属性。
create 'table_name','column_family1','column_family2'
eg
create 'student','info1','info2'
可以为列族设置版本数等属性:
# 列族info1设置5个版本,info2不设置版本默认一个版本
create 'student',{NAME => 'info1',VERSIONS => 5},{NAME => 'info2'}
列出所有表 (list)
列出当前 HBase 数据库中的所有表。
list
查看表描述 (describe)
查看某个表的详细描述,包括列族、属性等。
describe 'table_name'
#eg
describe 'student'
修改表 (alter)
用于修改表结构,例如添加或删除列族,或修改列族属性。
修改表之前需要先禁用表。
若有这个列族,则修改属性;若没有这个列族,则添加列族。
alter 'table_name',{NAME => 'column_family',VERSIONS => n}
#eg
#增加一个列族:
alter 'student', 'info3'
#修改列族的版本数量:
alter 'student', NAME => 'info1', VERSIONS => 5
禁用表 (disable)
禁用表以便删除或修改表。
disable 'table_name'
启用表 (enable)
重新启用已禁用的表。
enable 'table_name'
删除表 (drop)
删除已禁用的表。
drop 'table_name'
数据操作命令
插入数据 (put)
在表中插入数据或更新数据。
put 'table_name', 'rowkey', 'column_family:column', 'value'
示例:
put 'student', '1001', 'info1:name', 'zhangsan'
put 'student', '1001', 'info1:age', '20'
获取单行数据 (get)
获取指定
rowkey
的数据,支持获取多个版本的数据。
get 'table_name', 'rowkey'
示例:
获取特定列数据:
get 'student', '1001', 'info1:name'
获取特定列的多个版本:
get 'student', '1001', {COLUMN => 'info1:name', VERSIONS => 5}
扫描表数据 (scan)
扫描并返回表中的多行数据。
scan 'table_name'
示例:
扫描特定列族的数据:
scan 'student', {COLUMNS => ['info1']}
指定版本数量:
scan 'student', {VERSIONS => 3}
删除单元格数据 (delete)
删除指定行中的特定单元格数据。
delete 'table_name', 'rowkey', 'column_family:column'
示例:
delete 'student', '1001', 'info1:age'
删除整行数据 (deleteall)
删除指定 `rowkey` 的所有数据。
deleteall 'table_name', 'rowkey'
示例:
deleteall 'student', '1001'
表信息查看命令
查看表的结构 (describe)
查看表的结构信息,包括列族、压缩类型、最大版本等。
describe 'table_name'
查看表的状态 (is_enabled, is_disabled)
检查表是否启用或禁用。
is_enabled 'table_name'
is_disabled 'table_name'
计数行数 (count)
统计表中的行数。
count 'table_name'
列出表详情 (show_filters)
列出所有预定义的过滤器。
show_filters
查看配置信息 (status, version)
查看集群状态和 HBase 版本。
status
version
命名空间操作命令
创建命名空间 (create_namespace)
创建一个新的命名空间。
create_namespace 'namespace_name'
列出命名空间 (list_namespace)
列出所有命名空间。
list_namespace
查看命名空间中的表 (list_namespace_tables)
列出指定命名空间中的所有表。
list_namespace_tables 'namespace_name'
删除命名空间 (drop_namespace)
删除命名空间(该命名空间中不能有表)。
drop_namespace 'namespace_name'
其它命令
禁用压缩 (disable_all)
批量禁用所有符合特定正则表达式的表。
disable_all 'regex'
删除所有表 (drop_all)
批量删除所有符合特定正则表达式的表(表必须先禁用)。
drop_all 'regex'
退出 Shell (exit)
退出 HBase Shell。
exit