HBase Shell常用命令

HBase Shell 是连接 HBase 数据库的主要方式之一,通过它提供的命令,可以很方便地操作 HBase 数据库,例如创建、删除及修改表、向表中添加数据、列出表中的相关信息等操作。这里为你梳理了最常用的 HBase Shell 命令,方便你快速上手和日常查阅。

一、核心命令

1、基本连接与帮助

sql 复制代码
hbase shell	-- 进入 HBase Shell 交互界面
help '命令名'	-- 查看特定命令的详细用法
exit	-- 退出 HBase Shell

2、表管理

bash 复制代码
create	        创建表,需指定表名和至少一个列族
list	        列出所有表
describe	    查看表结构
disable/enable	禁用或启用表(删除或修改前需禁用)
drop	        删除表(必须先禁用)
exists	        检查表是否存在

3、数据操作

bash 复制代码
put			插入或更新数据
get			获取指定行或列的数据
scan		扫描表数据
delete		删除指定行或列的数据
deleteall	删除整行数据
count		统计表中数据的行数
truncate	清空表数据(自动禁用、删除并重建表)

二、常用命令

下面是一些核心命令的典型用法示例,帮你快速理解:

1、创建表

使用 create 命令创建表,必须指定表名和至少一个列族(Column Family)。

bash 复制代码
# 语法:create '表名', '列族1', '列族2', ...
create 'user', 'baseInfo', 'schoolInfo'

2、插入和更新数据

使用 put 命令插入或更新数据。你需要指定完整的"坐标":表、行键(Row Key)、列族:列名(Qualifier)和值。

bash 复制代码
# 语法:put '表名', '行键', '列族:列名', '值'
put 'user', 'rowkey1', 'baseInfo:name', 'tom'
put 'user', 'rowkey1', 'baseInfo:age', '29'

3、查询数据

(1) get 查询单行:获取指定行键的数据

bash 复制代码
get 'user', 'rowkey1' # 获取整行数据
get 'user', 'rowkey1', 'baseInfo' # 获取该行指定列族的数据
get 'user', 'rowkey1', 'baseInfo:name' # 获取特定列的数据

(2)scan 扫描表:用于范围查询或全表扫描。

bash 复制代码
scan 'user' # 扫描全表
scan 'user', {COLUMNS => 'baseInfo:name'} # 只扫描特定列
scan 'user', {STARTROW => 'rowkey1', STOPROW => 'rowkey5'} # 按行键范围扫描(左闭右开)[citation:8]
scan 'user', {LIMIT => 5} # 限制返回行数[citation:8]

4、删除数据和表

(1)delete 删除数据:删除指定行或列的数据。

bash 复制代码
delete 'user', 'rowkey1', 'baseInfo:age' # 删除某列
deleteall 'user', 'rowkey1' # 删除整行

(2)drop 删除表:删除表之前必须先使用 disable 禁用表。

bash 复制代码
disable 'user'
drop 'user'

三、高级操作和技巧

掌握基础后,这些高级功能能让操作更高效

1、使用过滤器精准查询

bash 复制代码
# 查询值等于 'tom' 的所有行
scan 'user', FILTER => "ValueFilter(=, 'binary:tom')"
# 查询行键前缀为 'rk' 的所有行
scan 'user', FILTER => "PrefixFilter('rk')"

2、清空表数据

bash 复制代码
truncate 'user'

3、修改表结构

bash 复制代码
alter 'user', 'teacherInfo' # 添加列族
alter 'user', {NAME => 'teacherInfo', METHOD => 'delete'} # 删除列族

四、注意事项

行键设计很重要

行键(Row Key)决定了数据在集群中的分布,直接影响查询性能,需要合理设计。

列族需预先定义

列族需要在创建表时就定义好,后续无法动态添加新的列族(但可以添加列族内的新列)。

谨慎操作删除命令

delete、deleteall 和 drop 都是不可逆的操作,使用时务必确认目标数据。

HBase Shell 的命令非常丰富,以上列出的是最常用的一部分。你可以在 Shell 中使用 help '命令名' 来查看某个命令的详细用法。

相关推荐
一 乐1 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
1.14(java)3 小时前
SQL数据库操作:从CRUD到高级查询
数据库
智能相对论3 小时前
CES深度观察丨智能清洁的四大关键词:变形、出户、体验以及生态协同
大数据·人工智能
Full Stack Developme3 小时前
数据库索引的原理及类型和应用场景
数据库
焦耳热科技前沿4 小时前
北京科技大学/理化所ACS Nano:混合价态Cu₂Sb金属间化合物实现高效尿素电合成
大数据·人工智能·自动化·能源·材料工程
IDC02_FEIYA5 小时前
SQL Server 2025数据库安装图文教程(附SQL Server2025数据库下载安装包)
数据库·windows
辞砚技术录5 小时前
MySQL面试题——联合索引
数据库·面试
min1811234565 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
萧曵 丶5 小时前
MySQL 主键不推荐使用 UUID 的深层原因
数据库·mysql·索引
武子康6 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习