hbase命令行操作

1.进入命令行

hbase shell

2.基础命令

查看帮助信息
help

--查看版本信息
--version

--查看hbase集群状态
--status

--查看当前用户
--whoami

3.命名空间命令

=-查看所有命名空间
--list_namespace

--查询指定命名空间的表

--list_namespace_tables '命名空间名'

--创建命名空间

--create_namespace 'my_ns'

4.表操作命令

4.1创建hbase表

--创建hbase表时需要指定一个至少列族,不需要指定列

--create 'hbase表名','列族名1','列族名2',...'列族名N'

--如果希望指定命名空间创建hbase表 需要在表名前指定命名空间

create 'my_ns:student','info'

--创建customer表 表中有base和order这两个列族

create 'customer','base','order'

4.2列出所有表

list

--以上创建表的命令会将表创建在defalut命名空间

4.3 禁用表和查询表是否被禁用

--禁用表

--disable '表名'

--查询表是否被禁用

is_disabled '表名'

4.4删除hbase表

--删除的表需要是禁用状态

--drop '表名'

4.5启用表和查询表是否被启用

--启用表

--enable '表'

--查询表是否被启用

--is_enabled '表'

4.6查询表的信息

--desc '表名'

4.7 修改表

--使用alter命令可以修改已创建的hbase表信息

4.7.1 修改列族的版本信息

--如果默认情况下 列族中的VERSIONS=1 表示该列族下的所有列都只保留最新的数据

如果希望将版本修改 可以执行以下命令

--修改base列族 将版本改为3
--alter 'customer',{NAME => 'base',VERSIONS => '1'}

--修改hbase表中的列族信息时如果该表对应的列族数据比较多时修改所需要的时间会比较漫长

4.7.2 增加表中列族

alter 'customer','info'

alter 'my_ns:student','father'

alter 'my_ns:student','mother'

4.7.3 删除表中列族

alter 'customer',{NAME =>'order',METHOD=>'delete'}
alter 'customer',{NAME =>'base',METHOD=>'delete'}

--hbase表中至少有一个列族 如果需要删除表中唯一的列族 命令执行时会报错

4.8验证表是否存在

--exists '表名'
exists 'customer'

5.表中数据的操作

5.1添加数据/修改数据

--put '表名','Rowkey','列族:列名','列的值'

put 'my_ns:student','s001','info:name','zhangsan'

put 'my_ns:student','s001','father:name','zhangyi'

put 'my_ns:student','s001_20240716','info:score','80'

put 'my_ns:student','s001_20240717','info:score','98'

put 'my_ns:student','s001','info:sex','man'

put 'my_ns:student','s001','info:age','20'

--插入数据后,数据目前只存储在内存中,还没有写到hdfs,可以使用刷新命令强制写到hdfs

flush 'my_ns:student'

--强制刷新后,hdfs上出现强制写入的文件 但该文件是二进制文件 无法阅读

可以使用hbase命令查看

hbase hfile -v -p -f /hbase/data/my_ns/student/35260ff00c11d8eea641112ed32edd04/info/e270edc77426417e97e84a52644c8804

--修改已有数据

put my_ns:student','s001','info:name','zhangsansan'

5.2 查看表中的数据

--1.get '表名','Rowkey'

get 'my_ns:student','s001'

get 'my_ns:student','s001_20240716'

--2.get '表名','Rowkey','列族'

get 'my_ns:student','s001','info'

--3.get '表名','Rowkey','列族:列名'

get 'my_ns:student','s001','info:age'

5.3 计算表中数据的总数

--计算表中的Rowkey的个数

count 'my_ns:student'

5.4扫描表中的数据

--扫描表中所有的数据

scan 'my_ns:student'

5.5删除表中的数据

--delete '表名','Rowkey','列族:列名'

delete 'my_ns:student','s001','info:age'

--delete命令不会马上删除对应的列数据,只会在该列数据上打上删除的标识,当hbase进行数据合并时,才会真正删除该列数据

5.6清空表中数据

--truncate '表名'

truncate 'my_ns:student'

相关推荐
xixixi777779 分钟前
今日 AI 、通信、安全行业前沿日报(2026 年 2 月 4 日,星期三)
大数据·人工智能·安全·ai·大模型·通信·卫星通信
Lw老王要学习1 小时前
CentOS 7.9达梦数据库安装全流程解析
linux·运维·数据库·centos·达梦
qq_423233901 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
Wasim4041 小时前
【渗透测试】SQL注入
网络·数据库·sql
laplace01231 小时前
Claude Code 逆向工程报告 笔记(学习记录)
数据库·人工智能·笔记·学习·agent·rag
珠海西格2 小时前
1MW光伏项目“四可”装置改造:逆变器兼容性评估方法详解
大数据·运维·服务器·云计算·能源
2401_836563182 小时前
用Python读取和处理NASA公开API数据
jvm·数据库·python
迎仔2 小时前
13-云原生大数据架构介绍:大数据世界的“弹性城市”
大数据·云原生·架构
产品人卫朋2 小时前
卫朋:IPD流程落地 - 市场地图拆解篇
大数据·人工智能·物联网
2301_818732062 小时前
项目启动报错,错误指向xml 已解决
xml·java·数据库·后端·springboot