Hbase基础Shell命令

chenxin
8
2024-10-26

表操作命令

创建表(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
动物装饰