示例说明

最近更新时间: 2026-03-13 09:03:00

通过如下命令您可以进入 HBase Shell:

[hadoop@10hbase]$ hbase shell

常用操作

通用命令

  • status: 提供HBase的状态,例如,服务器的数量
  • version: 提供正在使用HBase版本
  • table_help: 表引用命令提供帮助
  • whoami: 提供有关用户的信息

数据定义语言

  • create: 创建一个表
  • list: 列出HBase的所有表
  • disable: 禁用表
  • is_disabled: 验证表是否被禁用
  • enable: 启用一个表
  • is_enabled: 验证表是否已启用
  • describe: 提供了一个表的描述
  • alter: 修改一个表
  • exists: 验证表是否存在
  • drop: 从HBase中删除表

数据操纵语言

  • put: 把指定列放入指定的行中单元格的值在一个特定的表
  • get: 获取行或单元格的内容
  • delete: 删除表中的单元格值
  • deleteall: 删除给定行的所有单元格
  • scan: 扫描并返回表数据
  • count: 计数并返回表中的行的数目
  • truncate: 清空一个指定的表的数据
  • truncate_preserve

示例

  1. 在 hbase shell 下输入 help 可以查看基本的使用信息和示例的指令。接下来我们使用以下指令建立一个新表:
hbase(main):001:0> create 'test', 'cf'
  1. 表格建立后,可以使用 list指令来查看您建立的表是否已经存在:
hbase(main):002:0> list 'test'
TABLE                                                                             
test                                                                               
1 row(s) in 0.0030 seconds

=> ["test"]
  1. 使用put指令来为您创建的表添加元素:
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0850 seconds

hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds

hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0100 seconds
  1. 使用scan指令来遍历整个表:
hbase(main):006:0> scan 'test'
ROW  COLUMN+CELL                                                                   
row1   column=cf:a, timestamp=1530276759697, value=value1                         
row2   column=cf:b, timestamp=1530276777806, value=value2                         
row3   column=cf:c, timestamp=1530276792839, value=value3                         
3 row(s) in 0.2110 seconds
  1. 使用get指令来获取表中指定行的值:
hbase(main):007:0> get 'test', 'row1'
COLUMN  CELL                                                                       
 cf:a       timestamp=1530276759697, value=value                                   
1 row(s) in 0.0790 seconds
  1. 使用drop指令来删除一个表,在删除表之前需要先使用disable指令来禁用一个表:
hbase(main):010:0> disable 'test'
hbase(main):011:0> drop 'test'