HBase基本操作

目录
1.命名空间的操作
2.表的操作
3.常用Shell操作

1. 基本操作
(1).进入HBase客户端命令行
bin/hbase shell
(2).查看帮助命令
hbase(main)> help

(3). 查看当前数据库中有哪些表
hbase(main)> list
(4)查看当前数据库中有哪些命名空间
hbase(main)> list_namespace

(5)列出指定命名空间下的所有表

hbase> list_namespace_tables 'ns1'
2.命名空间的操作
(1)列出所有命名空间
hbase> list_namespace
(2)新建命名空间
hbase> create_namespace 'ns1'
(3)删除命名空间
hbase> drop_namespace 'ns1'

该命名空间必须为空,否则会报错。

(4)修改命名空间
hbase> alter_namespace 'ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
3. 表的操作
(1).创建表
(a)格式:
create '表名','列簇名'

create '命名空间:表名','列簇名'
(b)举例:
hbase(main)> create 'student','info'
hbase(main)> create 'iparkmerchant_order','smzf'
hbase(main)> create 'staff','info'
hbase(main)> create 'ns_ct:calllog'

(2).插入数据到表
(a)格式:
put '表名','rowkey','列簇:列','属性'
(b)举例:
hbase(main) > put 'student','1001','info:name','Thomas'
hbase(main) > put 'student','1001','info:sex','male'
hbase(main) > put 'student','1001','info:age','18'
hbase(main) > put 'student','1002','info:name','Janna'
hbase(main) > put 'student','1002','info:sex','female'
hbase(main) > put 'student','1002','info:age','20'

数据插入后的数据模型

(3).扫描查看表数据
hbase(main) > scan 'student'
hbase(main) > scan 'student',{STARTROW => '1001', STOPROW  => '1001'}
hbase(main) > scan 'student',{STARTROW => '1001'}

注:这个是从哪一个rowkey开始扫描

(4).查看表结构
hbase(main)> desc 'student'

(5).更新指定字段的数据
hbase(main) > put 'student','1001','info:name','Nick'
hbase(main) > put 'student','1001','info:age','100'
hbase(main) > put 'student','1001','info:isNull',''          //仅测试空值问题

(6).查看“指定行”或“指定列族:列”的数据
hbase(main) > get 'student','1001'
hbase(main) > get 'student','1001','info:name'

(7).删除数据

删除某rowkey的全部数据:

hbase(main) > deleteall 'student','1001'

(8).清空表数据
hbase(main) > truncate 'student'

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

(9). 删除表

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

hbase(main) > disable 'student'

检查这个表是否被禁用

hbase(main) > is_enabled 'student'
hbase(main) > is_disabled 'student'

恢复被禁用得表

hbase(main) > enable 'student'

disable后才能drop这个表:

hbase(main) > drop 'student'

提示:如果直接drop表,会报错:Drop the named table. Table must first be disabled
ERROR: Table student is enabled. Disable it first.

(10).统计表数据行数
hbase(main) > count 'staff'

(11). 变更表信息

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

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

查看student的最新的版本的数据

hbase(main) > get 'student','1001'

查看HBase中的多版本

hbase(main) > get 'student','1001',{COLUMN=>'info:name',VERSIONS=>10}

3. 常用Shell操作
(1).status 例如:显示服务器状态
hbase> status 'bigdata111'
(2).exists 检查表是否存在,适用于表量特别多的情况
hbase> exists 'hbase_book'
(3).is_enabled/is_disabled 检查表是否启用或禁用
hbase> is_enabled 'hbase_book'
hbase> is_disabled 'hbase_book'
(4).alter 该命令可以改变表和列族的模式,例如:

为当前表增加列族:

hbase> alter 'hbase_book', NAME => 'CF2', VERSIONS => 2

为当前表删除列族:

hbase> alter 'hbase_book', 'delete' => 'CF2'
(5).disable禁用一张表
hbase> disable 'hbase_book'
hbase> drop 'hbase_book'
(6).delete

删除一行中一个单元格的值,例如:

hbase> delete 'hbase_book', 'rowKey', 'CF:C'
(7).truncate清空表数据,即禁用表-删除表-创建表
hbase> truncate 'hbase_book'
(8).create创建多个列族:
hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值