菜鸟科技网

HBase命令大全有哪些核心操作?

HBase作为分布式、面向列的NoSQL数据库,提供了丰富的Shell命令用于管理表、数据集群及配置,以下从表管理、数据操作、集群维护等维度分类详解常用命令,辅以表格归纳核心操作。

HBase命令大全有哪些核心操作?-图1
(图片来源网络,侵删)

表管理操作
创建表时需指定列族,如create 't1', 'cf1', 'cf2';列出所有表用list;描述表结构(包括列族、版本数等)用describe 't1';禁用表后可删除,需先执行disable 't1'drop 't1';修改表配置(如列族版本数)需先disable,通过alter 't1', NAME=>'cf1', VERSIONS=>3修改,最后enable

数据CRUD操作
插入数据:put 't1', 'r1', 'cf1:name', 'Alice',若行键不存在则创建,存在则更新;查询数据:get 't1', 'r1'返回整行,get 't1', 'r1', {COLUMN=>'cf1:name'}指定列;扫描数据:scan 't1'遍历全表,scan 't1', {STARTROW=>'r1', LIMIT=>10}限制范围和数量;删除数据:delete 't1', 'r1', 'cf1:name'删除指定列,deleteall 't1', 'r1'删除整行;计数操作:count 't1'统计行数。

高级数据操作
批量处理:importtsv导入TSV文件,export导出数据到HDFS;过滤器查询:scan 't1', {FILTER=>"PrefixFilter('r1')"}过滤行键前缀,ValueFilter过滤列值;版本控制:get 't1', 'r1', {COLUMN=>'cf1:name', VERSIONS=>2}获取最近2个版本;原子操作:checkandput 't1', 'r1', 'cf1:flag', 'old',若值为'old'则更新为新值。

集群与维护命令
空间管理:status查看集群状态,balance_switch开启/关闭负载均衡;Region操作:move 'region_name', 'server_name'迁移Region,split 't1'分裂表;快照管理:snapshot 't1', 'snapshot1'创建快照,restore_snapshot 'snapshot1'恢复;配置查看:get_config获取当前配置,update_config动态修改配置。

HBase命令大全有哪些核心操作?-图2
(图片来源网络,侵删)

以下为常用命令速查表:

类别 命令 功能说明
表管理 create 't', 'cf' 创建表
disable 't' 禁用表
drop 't' 删除表
数据插入 put 't', 'r', 'cf:c', 'v' 插入/更新数据
数据查询 get 't', 'r' 获取指定行
scan 't' 扫描全表
数据删除 delete 't', 'r', 'cf:c' 删除指定列
集群状态 status 查看集群状态
Region管理 move 'region', 'server' 迁移Region

相关问答FAQs
Q1: 如何批量删除HBase表中的数据?
A: 可通过deleteall批量删除行,或结合scan与脚本实现,先scan 't1' {FILTER=>"PrefixFilter('prefix')"}获取目标行键,再循环执行deleteall 't1', 'row_key',若需清空表,可disable 't1'truncate 't1'(此操作会删除所有数据并重建表)。

Q2: HBase Shell中如何实现模糊查询?
A: 可使用ColumnPrefixFilter(列名前缀匹配)或RegexStringComparator(正则表达式),扫描列名以"user"开头的列:scan 't1', {FILTER=>ColumnPrefixFilter('user')};匹配行键包含"2023"的数据:scan 't1', {FILTER=>RowFilter(=, 'regexstring:.*2023.*')},需注意,模糊查询可能影响性能,建议结合STARTROW和LIMIT缩小范围。

HBase命令大全有哪些核心操作?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇