您的位置:首页 > 运维架构 > Shell

Shell模式下对Hbase数据库的操作

2020-07-14 06:13 567 查看

Hbase中的基本概念

Namespace:类似关系数据库中的 数据库实例,默认使用default的名称空间
VERSIONS => 5 :HBase的每一个单元格内可以存储多个数据,所以需要用VERSION标记数据版本,数据版本默认是用时间戳标记。默认每一个单元格内只保留一个版本的数据。如果指定保留多个版本的数据,那么在获取数据的时候获取的是最新版本的数据。
保留5个版本的数据
Cell:rowkey+column+version,能确定唯一地一条数据,也就是一个单元格

命令行操作

通过sh hbase shell命令进入命令行界面,help命令可以查看hbase支持哪些命令

Create命令的用法:
可以在命令行界面输入create命令后,按回车键。通过错误提示,查看create命令的语法

查看hbase当前存在的命名空间
hbase(main):003:0> list_namespace
默认命名空间下创建person表,有basic和other两个列族
hbase(main):004:0> create ‘person’ ,‘basic’,‘other’
列出默认空间下的表
hbase(main):005:0> list
查看’person’表结构
hbase(main):006:0> desc ‘person’

Put命令的用法
每次为一个单元格添值

Get命令的用法
查看列族或单元格的值

若创建表时,指定了列族保留的版本
create ‘person’,{NAME=>‘basic’,VERSIONS=>5},{NAME=>‘other’,VERSIONS=>3}
则可以查看列族某单元格保留的值

删除表的命令

或者清空表重建

drop、truncate、delete三种删除的区别

drop table 表名
删除数据、释放空间、删除表结构。表所占用的空间全释放掉
truncate table 表名
删除数据、释放空间,但保留表的数据结构。表和索引所占用的空间会恢复到初始大小。删除操作不记录日志保存,数据不能恢复。并且在删除的过程中不会激活与表有关的删除触发器。
delete from 表名 (where 列名 = 值)
删除数据、不会减少表或索引所占用的空间、但保留表的数据结构,但是delete即可以对行数据进行删除,也可以对整表数据进行删除。删除操作作为事务记录在日志中保存以便进行进行回滚操作

注意:
其它命令可以通过help命令、错误提示中显示的语法格式,来使用
key通过=>指向值
表名、列族名、列族名:单元格,使用时,外面要包一层‘ ’或“ ”

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: