HBase shell操作详解

本文详细介绍了如何在HBase的shell环境中进行基本操作和表的管理,包括进入客户端、查看帮助、创建与删除表、插入与更新数据、扫描表、查看表结构以及操作多版本数据等关键步骤。HBase的表由列族组成,每个列族对应HDFS上的一个文件夹。通过shell,可以便捷地对HBase数据库进行维护和管理。

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

1.基本操作
(1)进入HBase客户端命令行

[root@lyx2 hbase120]$ $HBASE_HOME/bin/hbase shell

注意:进入到 shell 环境后,不能使用退格键,需要使用 crtl+退格键。
(2)查看帮助命令

hbase(main):001:0> help

(3)查看当前数据库中有哪些表

hbase(main):002:0> list

2.表的操作
(1)创建表

hbase(main):002:0> create 'customer', {NAME=>'addr'}, {NAME=>'order'}
或者
hbase(main):002:0> create 'customer','addr','order'

①NAME=>‘xxx’,xxx 为列族的名字。HBase 中创建一个表,必须指定至少一个列族。
②创建完表后,可以在 HDFS 上查看对应的目录结构,表其实就是对应 HDFS上一个目录。
③列族就对应 HDFS 上一个文件夹。

(2)插入数据表

hbase(main):003:0> put 'customer', 'jsmith', 'addr:city', 'montreal'
hbase(main):004:0> put 'customer', 'jsmith', 'addr:state', 'ON'
hbase(main):005:0> put 'customer', 'jsmith', 'order:numb', '123456'
hbase(main):006:0> put 'customer', 'jsmith', 'order:date', '2015-12-19'

(3)插入多行数据

put 'customer', 'jsmith', 'order:numb', '1235'
put 'customer', 'jsmith', 'order:numb', '1236'
put 'customer', 'jsmith', 'order:numb', '1237'
put 'customer', 'jsmith', 'order:numb', '1238'
put 'customer', 'njones', 'addr:city', 'miami'
put 'customer', 'njones', 'addr:state', 'FL'
put 'customer', 'njones', 'order:numb', '5555'
put 'customer', 'tsimmons', 'addr:city', 'dallas'
put 'customer', 'tsimmons', 'addr:state', 'TX'
put 'customer', 'jsmith', 'addr:city', 'denver'
put 'customer', 'jsmith', 'addr:state', 'CO'
put 'customer', 'jsmith', 'order:numb', '6666'
put 'customer', 'njones', 'addr:state', 'TX'
put 'customer', 'amiller', 'addr:state', 'TX'

(4)扫描查看表
可以看做一个过滤器

scan 'customer'
scan 'customer', {COLUMNS=>['order:numb'], VERSIONS => 2}
scan 'customer', {STARTROW => 'j', STOPROW => 't'}

(5)查看表结构

desc 'customer'

(6)更新指定字段的数据

put 'customer', 'jsmith', 'order:numb', '654321'

(7)7. 查看“指定行”或“指定列族:列”的数据

get 'customer', 'jsmith'
get 'customer', 'jsmith','addr'
get 'customer', 'jsmith','addr:city'

(8)统计表数据行数

count 'customer'

(9)删除数据
①删除某 rowkey 的全部数据:

deleteall 'customer','jsmith'

②删除某 rowkey 的某一列数据:

delete 'customer','njones','addr:city'

(10)清空数据表数据

truncate 'customer'

注意:清空表的操作顺序为先 disable,然后再 truncate。disable 的操作会自动完成。
(11)删除表
先disable再drop

disable 'customer'
drop 'customer'

(12)变更表信息
将 order 列族中的数据存放 3 个版本:

alter 'customer',NAME=>'order', VERSIONS=>5

(13)获取多版本数据
①先更新一条数据。

put 'customer', 'tsimmons', 'order:city', 'beijing'

②查看多版本数据。

get customer','tsimmons',{COLUMN=>'order:city',VERSIONS=>2}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值