hbase学习2

一、表管理操作

  1. 创建表
    hbase
    create '表名', '列族1', '列族2', ...

示例:创建student表,有info和score两个列族

create 'student', 'info', 'score'
2. 查看所有表
hbase
list
3. 查看表描述
hbase
describe '表名'
describe 'student'
4. 检查表是否存在
hbase
exists '表名'
5. 禁用/启用表
hbase
disable '表名' # 禁用表(删除前必须先禁用)
enable '表名' # 启用表
is_disabled '表名' # 检查是否禁用
is_enabled '表名' # 检查是否启用
6. 删除表
hbase
disable '表名'
drop '表名'
7. 修改表(添加列族)
hbase
alter '表名', '列族名'
alter 'student', 'contact'
二、数据操作(CRUD)

  1. 插入/更新数据
    hbase
    put '表名', '行键', '列族:列名', '值'

示例:

put 'student', '1001', 'info:name', '张三'
put 'student', '1001', 'info:age', '20'
put 'student', '1001', 'score:math', '85'
2. 查询数据
hbase

获取整行数据

get '表名', '行键'
get 'student', '1001'

获取指定列族

get '表名', '行键', '列族'
get 'student', '1001', 'info'

获取指定列

get '表名', '行键', '列族:列名'
get 'student', '1001', 'info:name'
3. 扫描表数据
hbase

扫描整个表

scan '表名'
scan 'student'

限制扫描行数

scan '表名', {LIMIT => 10}
scan 'student', {LIMIT => 5}

按范围扫描

scan '表名', {STARTROW => '起始行键', ENDROW => '结束行键'}
scan 'student', {STARTROW => '1001', ENDROW => '1005'}

扫描指定列

scan '表名', {COLUMNS => ['列族:列名']}
scan 'student', {COLUMNS => ['info:name', 'score:math']}
4. 删除数据
hbase

删除整个行

deleteall '表名', '行键'
deleteall 'student', '1001'

删除指定列

delete '表名', '行键', '列族:列名'
delete 'student', '1001', 'info:age'
三、集群与状态管理

  1. 查看集群状态
    hbase
    status
    status 'summary' # 简要状态
    status 'detailed' # 详细状态
  2. 查看版本信息
    hbase
    version
  3. 查看当前用户
    hbase
    whoami
  4. 查看表数量统计
    hbase
    count '表名'
    count 'student'
    四、高级操作
  5. 清空表(保留表结构)
    hbase
    truncate '表名'
    truncate 'student'
  6. 压缩表
    hbase
    major_compact '表名' # 主要压缩
    minor_compact '表名' # 次要压缩
  7. 分屏显示(防止数据过多)
    hbase
    scan 'student',
  8. 过滤器查询
    hbase

值过滤器

scan 'student', {FILTER => "ValueFilter(=, 'binary:张三')"}

列前缀过滤器

scan 'student', {FILTER => "ColumnPrefixFilter('na')"}
五、帮助命令

  1. 查看所有命令帮助
    hbase
    help
  2. 查看具体命令帮助
    hbase
    help '命令名'
    help 'create'
    help 'scan'
    六、实用示例组合
    示例1:创建表并插入数据
    hbase
    create 'user', 'basic', 'address'
    put 'user', '001', 'basic:name', 'Alice'
    put 'user', '001', 'basic:age', '25'
    put 'user', '001', 'address:city', 'Beijing'
    示例2:查询特定数据
    hbase

查询所有数据

scan 'user'

只查询基本信息

get 'user', '001', 'basic'

只查询姓名

get 'user', '001', 'basic:name'
示例3:范围查询
hbase

查询行键001到003的数据

scan 'user', {STARTROW => '001', ENDROW => '004'}

posted @ 2025-09-19 09:57  vivi_vimi  阅读(17)  评论(0)    收藏  举报