Hbase的Shell操作

x33g5p2x  于2021-03-14 发布在 Shell  
字(1.9k)|赞(0)|评价(0)|浏览(198)

Hbase提供了Shell的方式来操作数据库,下面通过示例来演示常见的Shell操作

[warning] 实验环境:

  • 启动Hbase集群(确保进程数都是够的,服务没问题再进行实验)
  • 在bigdata1的服务器进行实操

[info] (1)连接Hbase

hbase shell

:-:

[info] (2)查看帮助信息

help

:-:

[info] (3)创建一个表,必须要指定表名称和列簇名

# 1.创建一个学生表
create 'student','name','age','sex'

# 2.创建一个自定义版本的表
# 表名 people
# 列族info,版本管理为3(最多保存3个历史版本)
# 列族data,版本管理为1(最多保存1个历史版本)
create 'people',{NAME=>'info',VERSIONS=>3},{NAME=>'data',VERSIONS=>1}

[info] (4)查看表

# 1.查看所有表
list

# 2.查看刚创建的 people 表
list 'people'

# 3.describe命令查看“student”表的基本信息
describe 'student'

# 4.describe命令查看“people”表的基本信息

[info] (5)插入数据

# 在people表中插入1条记录
put 'people','rk001','info:name','liuyw'
put 'people','rk001','info:gender','female'
put 'people','rk001','info:age','18'
put 'people','rk001','data:hobby','manyplay'


# 命令解释
rk001为主键,一个主键记录一条数据,所以以上命令只插入了一条记录

# 注意
一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据
所以直接用shell命令插入数据效率很低,在实际应用中,一般都是利用编程操作数据。

[info] (6)查看数据(HBase中有两个用于查看数据的命令)

# 1.scan 命令,用于查看某个表的全部数据
scan 'people'

# 2.get 命令,用于查看表的某一行数据,获取people表的主键为:rk001的单行数据
get 'people','rk001'

[info] (7)条件查询

# 1.查询列族数据
scan 'people',{COLUMNS=>'info'}

# 2.查询people表中列族为info和data且列标识符含有a字符的信息
scan 'people',{COLUMNS=>['info','data'],FILTER=>"(QualifierFilter(=,'substring:a'))"}

# 3.查询people表中列族为info,rk范围是[rk001,rk003)的数据
scan 'people',{COLUMNS=>'info',STARTROW=>'rk001',ENDROW=>'rk003'}

[info] (8)修改数据

# 1.将表:people的行键为rk001的age修改为30
put 'people','rk001','info:age','30'

# 2.如上图修改后,只返回最新的一个版本age数据,现需要查询3个版本的age数据
get 'people','rk001',{COLUMN=>'info:age',VERSIONS=>3}

[info] (9)删除数据

1. deleteall 操作用于删除一行数据;
2. delete 操作用于删除一个数据,是put的反向操作;
3. truncate 'student' 用于删除student 表的所有数据;
# 1.在 people 表再插入一行数据
put 'people','rk002','info:name','tom'
put 'people','rk002','info:gender','female'
put 'people','rk002','info:age','18'
put 'people','rk002','data:hobby','manyplay'

# 2.删除行键为rk001的一行数据
deleteall 'people','rk001'

# 3.删除行健rk002的age信息
delete 'people','rk002','info:age'

# 4.清空 people 表的所有数据
truncate 'people'

[info] (10)删除表

#删除表有两步:
#第一步先让该表不可用(enable/disable : 使表有效或无效)
disable 'people'

#第二步删除表:
drop 'people'

[info] (9)退出shell,使用quit

quit

相关文章