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'

相关推荐
Sunlight_7773 分钟前
第五章 SQLite数据库:3、SQLite 常用语法及使用案例
jvm·数据库·sqlite
数据库砖家43 分钟前
YashanDB|虚拟内存高出实际内存十几G?原因不只是“占用大”这么简单
数据库
郭源潮11 小时前
《MySQL:MySQL表结构的基本操作》
数据库·mysql
火龙谷2 小时前
【hive】Hive对数据库,对表的操作(一)
数据库·hive·hadoop
西门吹雪@1322 小时前
redis 配置日志和数据存储位置
数据库·redis·缓存
jinan8862 小时前
加密软件的发展:从古典密码到量子安全
大数据·运维·服务器·网络·安全·web安全
一只栖枝2 小时前
OCP证书有效期是永久,但需要更新
数据库·开闭原则·ocp·oracle认证·ocp培训·ocp证书
CC数学建模3 小时前
第十七届“华中杯”大学生数学建模挑战赛题目A题 晶硅片产销策略优化 完整成品 代码 模型 思路 分享
大数据
bulucc4 小时前
回归,git 分支开发操作命令
大数据·git·elasticsearch