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

相关推荐
建筑工程企业管理系统35 分钟前
工程计划管理软件能解决工期延误问题吗?施工节点数字化管控实操解读
大数据·软件工程·软件需求
AI推荐率7 小时前
想让AI在选购问题中推荐品牌,应该找什么类型的服务商?
大数据·人工智能·microsoft
浅思科技集8 小时前
工业生产运营软件如何选择?看端到端可见性、数据贯通与AI落地
大数据·人工智能
浅念-8 小时前
一文吃透Git:本地操作|冲突处理|远程协作|GitFlow工作流详解
大数据·git·elasticsearch·搜索引擎·gitflow
葫三生9 小时前
《论三生原理》神话学构想与“神话历史”理论、《古史中的神话》思路异同?
大数据·人工智能·科技·深度学习·算法
国科安芯9 小时前
星链供电架构中的高集成度电源管理方案研究——基于ASP4644四通道降压稳压器在低轨卫星星座中的应用分析
大数据·单片机·嵌入式硬件·架构·低轨卫星·星间链路
小王毕业啦9 小时前
2011-2024年 各地级市养老服务信息面板数据 xlsx
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
troy1289 小时前
向量数据库选型指南:Milvus / Qdrant / Chroma / pgvector
数据库·milvus
彧azz10 小时前
Redis 全面指南:从核心概念到高可用架构实战
数据库·redis·架构