目录
[1 查看 HBase 状态](#1 查看 HBase 状态)
[2 查看帮助命令](#2 查看帮助命令)
[3 查看版本号](#3 查看版本号)
[4 命名空间操作](#4 命名空间操作)
[5 创建表](#5 创建表)
[6 列出所有的表](#6 列出所有的表)
[7 获取表描述](#7 获取表描述)
[8 删除列族](#8 删除列族)
[9 其他 DDL 操作](#9 其他 DDL 操作)
1 查看 HBase 状态
进入 HBase 客户端命令行:
(base) [root@hadoop01 ~]# hbase shell
hbase:001:0> status
2 查看帮助命令
能够展示 HBase 中所有能使用的命令,主要使用的命令有 namespace 命令空间相关,DDL 创建修改表格,DML 写入读取数据。
hbase:002:0> help
3 查看版本号
hbase:003:0> version
4 命名空间操作
# 创建命名空间
create_namespace '命名空间名'
# 查看所有命名空间
list_namespace
# 删除命名空间
drop_namespace '命名空间名'
# 查看命名空间中的表有什么
list_namespace_tables '命名空间名'
bigdata 命名空间是自己创建的,默认都会在 default 中,其中 hbase 的这个命令空间是系统自己的:
5 创建表
# 创建默认命名空间的表
create '表名称', '列族名称1','列族名称2','列族名称N'
# 创建带有命名空间的表
create '命名空间:表名称', '列族名称1','列族名称2','列族名称N'
示例:在 bigdata 命名空间中创建表格 student,两个列族(如果不写命名空间,使用默认的命名空间 default)
# 创建 student 表,表里有 2 个列族
create 'bigdata:student','name','age'
创建完之后有一个 region 是上线的状态和该表 region 的位置:
在监控页面上存在一个已经创建好的表了,并且显示相应的列族信息:
6 列出所有的表
# 查看所有的表
list
# 查询指定命名空间下的表
list_namespace_tables '命名空间'
只显示用户创建的表信息:
7 获取表描述
# 默认命名空间的表
describe '表名'
# 指定命名空间
describe '命名空间:表名'
8 删除列族
# 删除 bigdata:student 表的 age 列族
alter 'bigdata:student',{NAME=>'age',METHOD=>'delete'}
# 查看表结构
describe 'bigdata:student'
# 创建表
create 'bigdata:student1','cf1','cf2','cf3'
# 删除多个列族
alter 'bigdata:student1',{NAME =>'cf2', METHOD=>'delete'},{NAME=>'cf3',METHOD=>'delete'}
9 其他 DDL 操作
# 把表设置为 disable(下线)
disable '表名'
# 删除表操作,先把表下线,再 drop 表
disable '表名'
drop '表名'
# 启动表
enable '表名'
# 判断表是否存在
exists '表名'
# 判断表是否下线
is_disabled '表名'
# 判断表是否上线
is_enabled '表名'