hbase-shell命令

本文介绍了HBase数据库中的表管理,包括创建、删除和修改表,以及查看表信息和检查表存在性。此外,还详细阐述了如何添加和删除列簇,调整列簇存储版本限制,以及插入、获取和删除数据的方法。查询部分讲解了使用get和scan方法按指定条件访问数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、表操作

2.1创建表

命令格式1:create ‘表名’,‘列簇名1’,‘列簇名2’…

命名格式2:create ‘表名’,{NAME=>‘列簇名1’},{NAME=>‘列簇名2’}…

#创建一张名为Student的表,包含基本信息(baseinfo)、学校信息(schoolinfo)两个列簇

create'student','haseinfo','schoolinfo'

2.2删除表

#删除表前需要先禁用表

disable 'student'

#删除表

drop'student'

2.3修改表名

命令格式:

snapshot '表名’,‘镜像名’

clone_snapshot‘镜像名’,‘新表名’

delect_snapshot‘镜像名’

snapshot 'student','temp'

clone_snapshot 'temp','stu'

delect_snapshot'temp'

注:可以将原表删除,删除命令参照2.2删除表

2.4查看所有的表

list

2.5查看表的基本信息

命令格式:desc ‘表名’

desc'Student'

2.6检查表是否存在

exists'student'

2.7表的启用和禁用

#禁用表

disable 'student'

#检查表是否被禁用

is_disabled 'student'

#启用表

enable 'student'

#检查表是否被启用

is_enabled'student'

三、增删改

3.1添加列簇

命令格式:alter ‘表名’,‘列簇名’

alter'student','teacherinfo'

3.2删除列簇

命令格式:alter ‘表名’,{NAME=>‘列簇名’,METHOD=‘delete’}

alter'student', {NAME => 'teacherinfo', METHOD => 'delete'}

3.3更改列簇存储版本的限制

默认情况下列族只存储一个版本的数据,如果需要存储多个版本的数据,则需要修改列族的属性。修改后可通过 desc 命令查看。

alter'student',{NAME=>'baseinfo',VERSIONS=>3}

3.4插入数据

命令格式:put ‘表名’,‘行键’,‘列簇名:列名’,‘值’[,时间戳]

put 'student', '1','baseinfo:name','tom'

put 'student','1','baseinfo:birthday','1990-01-09'

put 'student', '1','baseinfo:age','29'

put 'student','1','schoolinfo:name','Havard'

put 'student','1','schoolinfo:localtion','Boston'

put 'student', '2','baseinfo:name','jack'

put 'student','2','baseinfo:birthday','1998-08-22'

put 'student', '2','baseinfo:age','21'

put 'student', '2','schoolinfo:name','yale'

put 'student','2','schoolinfo:localtion','New Haven'

put 'student', '3','baseinfo:name','maike'

put 'student','3','baseinfo:birthday','1995-01-22'

put 'student', '3','baseinfo:age','24'

put 'student', '3','schoolinfo:name','yale'

put 'student','3','schoolinfo:localtion','New Haven'

put'student', '4','baseinfo:name','maike-jack'

3.5获取指定行、指定行中的列族、列的信息

# 获取指定行中所有列的数据信息

get 'student','3'

# 获取指定行中指定列族下所有列的数据信息

get 'student','3','baseInfo'

# 获取指定行中指定列的数据信息

get'student','3','baseinfo:name'

3.6删除指定行、指定行中的列

# 删除指定行

delete 'student','3'

# 删除指定行中指定列的数据

delete'student','3','baseinfo:name'

四、查询

hbase 中访问数据有两种基本的方式:

l  按指定 rowkey 获取数据:get 方法;

l  按指定条件获取数据:scan 方法。scan 可以设置 begin 和

end 参数来访问一个范围内所有的数据。get 本质上就是

begin 和 end 相等的一种特殊的 scan。

4.1get查询

# 获取指定行中所有列的数据信息

get 'student','3'

# 获取指定行中指定列族下所有列的数据信息

get 'student','3','baseinfo'

# 获取指定行中指定列的数据信息

get'student','3','baseinfo:name'

4.2scan查询

#查询整表数据

scan 'student'

#查询指定列簇的数据

scan 'student', {COLUMN=>'baseinfo'}

# 查询指定列的数据

scan 'student', {COLUMNS=>'baseinfo:birthday'}

# 查看指定列两个版本的数据

scan 'student', {COLUMNS=>'baseinfo:birthday',VERSIONS=>2}

# 查看前3条数据

scan'student',{LIMIT=>3}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值