HBase Shell 操作

本文介绍了HBase的基本操作,包括客户端命令行使用、表的操作如创建、插入数据、更新及删除等,还详细说明了如何进行表数据的扫描、查看表结构、统计表数据行数等。此外,还涉及到了命名空间的操作,如创建、删除命名空间及其下的表。

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

1.基本操作

1.1 进入HBase客户端命令行

    [luomk@hadoop102 hbase]$ bin/hbase shell

1.2 查看帮助命令

    hbase(main):001:0> help

1.3 查看当前数据库中有哪些表

    hbase(main):002:0> list

 

2.表的操作

1.1 创建表

    hbase(main):002:0> create 'student','info'

1.2 插入数据到表

    hbase(main):003:0> put 'student','1001','info:sex','male'

    hbase(main):004:0> put 'student','1001','info:age','18'

    hbase(main):005:0> put 'student','1002','info:name','Janna'

    hbase(main):006:0> put 'student','1002','info:sex','female'

    hbase(main):007:0> put 'student','1002','info:age',’20'    查看效果:


hbase(main):015:0> scan 'student'

ROW                                                      COLUMN+CELL

1001                                                    column=info:age, timestamp=1537168179371, value=18

1001                                                    column=info:sex, timestamp=1537168171354, value=male

1002                                                    column=info:age, timestamp=1537168195932, value=20

1002                                                    column=info:name, timestamp=1537168185919, value=Janna

1002                                                    column=info:sex, timestamp=1537168191050, value=female

2 row(s) in 0.0140 seconds

1.3 扫描查看表数据

    hbase(main):008:0> scan 'student'

    hbase(main):009:0> scan 'student',{STARTROW => '1001', STOPROW  => '1001'}

    hbase(main):010:0> scan 'student',{STARTROW => '1001'}

1.4 查看表结构

    hbase(main):011:0> describe 'student’

1.5 更新指定字段的数据

    hbase(main):012:0> put 'student','1001','info:name','Nick'

    hbase(main):013:0> put 'student','1001','info:age','100'

1.6 查看“指定行”或“指定列族:列”的数据

    hbase(main):014:0> get 'student','1001'

    hbase(main):015:0> get 'student','1001','info:name'

1.7 统计表数据行数

    hbase(main):021:0> count 'student'

1.8 删除数据

    删除某rowkey的全部数据:

    hbase(main):016:0> deleteall 'student','1001'

    删除某rowkey的某一列数据:

    hbase(main):017:0> delete 'student','1002','info:sex'

1.9 清空表数据

    hbase(main):018:0> truncate 'student'

    提示:清空表的操作顺序为先disable,然后再truncate。

1.10 删除表

    首先需要先让该表为disable状态:

    hbase(main):019:0> disable 'student'

    然后才能drop这个表:

    hbase(main):020:0> drop 'student'

    提示:如果直接drop表,会报错:ERROR: Table student is enabled. Disable it first.

1.11 变更表信息

    将info列族中的数据存放3个版本:

    hbase(main):022:0> alter 'student',{NAME=>'info',VERSIONS=>3}

 

3.命名空间的操作

3.1 介绍

    在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。

3.2 namespace

    HBase系统默认定义了两个缺省的namespace

    hbase:系统内建表,包括namespace和meta表    default:用户建表时未指定namespace的表都创建在此


创建namespace

hbase>create_namespace 'ai_ns'

删除namespace

hbase>drop_namespace 'ai_ns'

查看namespace

hbase>describe_namespace 'ai_ns'

列出所有namespace

hbase>list_namespace

在namespace下创建表

hbase>create 'ai_ns:testtable', 'fm1'

查看namespace下的表

hbase>list_namespace_tables 'ai_ns'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员学习圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值