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 '命令名' 来查看某个命令的详细用法。

相关推荐
h***59332 分钟前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
郑重其事,鹏程万里2 分钟前
键值存储数据库(chronicle-map)
数据库·oracle
Doro再努力11 分钟前
【MySQL数据库09】外键约束与多表查询基础
数据库·mysql
ss27333 分钟前
019:深入解析可重入互斥锁:原理、实现与线程安全实践
java·数据库·redis
7***u21641 分钟前
显卡(Graphics Processing Unit,GPU)架构详细解读
大数据·网络·架构
O***Z6161 小时前
三分钟内快速完成MySQL到达梦数据库的迁移
数据库·mysql
友友马2 小时前
『QT』窗口 (一)
开发语言·数据库·qt
q***78372 小时前
SQL实现md5加密方法
数据库·sql
q***61412 小时前
Spring中Aware的用法以及实现
java·数据库·spring
红树林072 小时前
渗透测试之sql注入--报错注入
数据库·sql·安全·web安全