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'

相关推荐
xcLeigh8 分钟前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai
yume_sibai1 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
云上先途1 小时前
属性标注是什么?主要解决什么问题?
大数据·人工智能
AugustRed2 小时前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Gl�ria2 小时前
Redis 高可用架构对比
数据库·redis
IpdataCloud3 小时前
高可用的IP数据接口平台有哪些?从可用性、P99延迟到离线部署的评估框架(含代码)
数据库·tcp/ip·ip
呆萌很3 小时前
MySQL 数据库和表的管理操作(命令行)
数据库·mysql
IvorySQL4 小时前
当PostgreSQL“听懂”MySQL——协议兼容层的设计与实战
数据库·人工智能·postgresql
大大大大晴天4 小时前
每天认识一个组件:元数据平台OpenMetadata
大数据
接口不宕机4 小时前
1688 商品列表 API 对接商家 ERP,实现店铺商品同步与上下架自动监控
大数据