HBase基本操作

HBase基本操作笔记:

hbase 是一个No SQL数据库
hbase shell 操作语法:插入
    增,删,改,查
    在shell中字母写错,删除:按住Ctrl然后删除 也可以ctrl+u 全删除
    帮助命令:help
    创建表:create 'student','cf1'
    插入数据:put 'student','1001','cf1:age','20'
    查看:scan 'student'
            scan 'student',{STARTROW => '1001',STOPROW => '1002'}
            scan 'student',{STARTROW => '1001'} 从1001到最后
    查询表结构:desc 'student'
    get查询:get 'student','1001'
            get 'student','1001','cf1:name'
    删除某个rowkey:deleteall 'student','10012'
    删除一个单元格:delete 'student','1001','cf1:isNull'
    删除表:1.disable 'student'
            2.drop 'student'
    清空表里面数据: truncate 'student'
        先停止表,然后清空:1.删除表2.创建一张相同的表。
    启用表:enable 'student'
    查看表是启用|非启用:
        is_enabled 'student'
        is_disabled 'student'
    统计表的行数:count 'student'
    修改版本个数:默认一个alter 'student',{NAME =>'cf1',VERSIONS=> 3}
        查看get 'student','1001',{COLUMN=>'cf1:name',VERSIONS=> 5}
        
    退出:quit

1) 进入HBase客户端命令行

hbase shell

2) 查看帮助命令

hbase(main)> help

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

hbase(main)> list

4) 查看当前数据库中有哪些命名空间

hbase(main)> list_namespace

2.2.1 表的操作

  1.  创建表

hbase(main)> create 'student','info'

hbase(main)> create 'iparkmerchant_order','smzf'

hbase(main)> create 'staff','info'

2) 插入数据到表

批量插入:

 

hbase(main) > put 'student2','1001',cf1:name','Thomas'

put 'student2','1001','cf1:sex','male'

put 'student2','1001','cf1:age','18'

put 'student2','1002','cf1:name','Janna'

put 'student2','1002','cf1:sex','female'

put 'student2','1002','cf1:age','20'

数据插入后的数据模型

Rowkey

timestamp

cf1

name

sex

age

 

1001

 

Thomas

male

18

 

1002

 

Janna

female

20

 

3) 扫描查看表数据

hbase(main) > scan 'student'

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

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

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

4) 查看表结构

hbase(main):012:0> 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 'hbase_book'

hbase(main) > is_disabled 'hbase_book'

恢复被禁用得表

enable 'student'

然后才能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 'student'

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}

2.2.2 常用Shell操作

1) satus 例如:显示服务器状态

hbase> status 'bigdata111'

2) exists 检查表是否存在,适用于表量特别多的情况

hbase> exists 'hbase_book'

3) is_enabled/is_disabled 检查表是否启用或禁用

hbase> is_enabled 'hbase_book'

hbase> is_disabled 'hbase_book'

8) alter 该命令可以改变表和列族的模式,例如:

为当前表增加列族:

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

为当前表删除列族:

hbase> alter 'hbase_book', 'delete' => 'CF2'

9) disable禁用一张表

hbase> disable 'hbase_book'

hbase> drop 'hbase_book'

10) delete

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

hbase> delete 'hbase_book', 'rowKey', 'CF:C'

11) truncate清空表数据,即禁用表-删除表-创建表

hbase> truncate 'hbase_book'

12) create

创建多个列族:

hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}

 

                                                                                                                                         ——————保持饥饿,保持学习

                                                                                                                                                                       Jackson_MVP

                                                                                                                 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SuperBigData~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值