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

相关推荐
素玥21 小时前
实训5 python连接mysql数据库
数据库·python·mysql
jnrjian21 小时前
text index 查看index column index定义 index 刷新频率 index视图
数据库·oracle
瀚高PG实验室21 小时前
审计策略修改
网络·数据库·瀚高数据库
黎阳之光1 天前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
言慢行善1 天前
sqlserver模糊查询问题
java·数据库·sqlserver
韶博雅1 天前
emcc24ai
开发语言·数据库·python
有想法的py工程师1 天前
PostgreSQL 分区表排序优化:Append Sort 优化为 Merge Append
大数据·数据库·postgresql
迷枫7121 天前
达梦数据库的体系架构
数据库·oracle·架构
夜晚打字声1 天前
9(九)Jmeter如何连接数据库
数据库·jmeter·oracle
Chasing__Dreams1 天前
Mysql--基础知识点--95--为什么避免使用长事务
数据库·mysql