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'

相关推荐
大大大大晴天12 小时前
Hudi技术内幕:Key Generation原理与实践
大数据
倔强的石头_3 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence4 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
得物技术4 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子4 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
无响应de神4 天前
三、用户与权限管理
数据库·mysql
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1235 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
果丁智能5 天前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居