hbase的shell操作

1.进入 hbase

    hbase shell 

在你安装的随意台服务器节点上,执行命令:hbase shell,会进入到你的 hbase shell 客户端[root@hadoop02 ~]# hbase shell

2.帮助命令相关

    help 获取所有命令提示

    help "dml" 获取一组命令的提示

    help "put" 获取一个单独命令的提示帮助

3.显示 hbase 中的表

    list

    查看当前stu表的列簇的所有详细信息

    desc 'stu'

4.退出 hbase shell 客户端

    exit 

5.创建表---create

创建 user 表,包含 info、data 两个列簇

    create 'user', 'info1', 'data1'

    create 'user', {NAME => 'info', VERSIONS => '3'}

6.向表中插入信息---put

向 user 表中插入信息,row key 为 rk0001,列簇 info 中添加 name 列标示符,值为 zhangsan

    put 'user', 'rk0001', 'info:name', 'zhangsan'

7.获取信息---get

获取 user 表中 row key 为 rk0001 的所有信息

    get 'user', 'rk0001'

获取 user 表中 row key 为 rk0001,info 列簇的所有信息

    get 'user', 'rk0001', 'info'

获取 user 表中 row key 为 rk0001,info 列簇的 name、age 列标示符的信息

    get 'user', 'rk0001', 'info:name', 'info:age'

获取 user 表中 row key 为 rk0001,info、data 列簇的信息

    get 'user', 'rk0001', 'info', 'data'

    get 'user', 'rk0001', {COLUMN => ['info', 'data']}

    get 'user', 'rk0001', {COLUMN => ['info:name', 'data:pic']}

获取 user 表中 row key 为 rk0001,列簇为 info,版本号最新 5 个的信息

    get 'user', 'rk0001', {COLUMN => 'info', VERSIONS => 2}

    get 'user', 'rk0001', {COLUMN => 'info:name', VERSIONS => 5}

    get 'user', 'rk0001', {COLUMN => 'info:name', VERSIONS => 5, TIMERANGE =>[1392368783980, 1392380169184]}

获取 user 表中 row key 为 rk0001,cell 的值为 zhangsan 的信息

    get 'people', 'rk0001', {FILTER => "ValueFilter(=, 'binary:图片')"}

获取 user 表中 row key 为 rk0001,列标示符中含有 a 的信息

    get 'people', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}

8.获取信息---scan

查询 user 表中的所有信息

    scan 'user'

查询 user 表中列簇为 info 的信息

    scan 'user', {COLUMNS => 'info'}

    scan 'user', {COLUMNS => 'info', RAW => true, VERSIONS => 5}

    scan 'persion', {COLUMNS => 'info', RAW => true, VERSIONS => 3}

 Scan 时可以设置是否开启 Raw 模式,开启 Raw 模式会返回包括已添加删除标记但是未实际删除的数据。

查询 user 表中列簇为 info 和 data 的信息

    scan 'user', {COLUMNS => ['info', 'data']}

    scan 'user', {COLUMNS => ['info:name', 'data:pic']}

查询 user 表中列簇为 info、列标示符为 name 的信息

    scan 'user', {COLUMNS => 'info:name'}

查询 user 表中列簇为 info、列标示符为 name 的信息,并且版本最新的 5 个

    scan 'user', {COLUMNS => 'info:name', VERSIONS => 5}

查询 user 表中列簇为 info 和 data 且列标示符中含有 a 字符的信息

    scan 'user', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}

查询 user 表中列簇为 info,rk 范围是[rk0001, rk0003)的数据

    scan 'people', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}

查询 user 表中 row key 以 rk 字符开头的

    scan 'user',{FILTER=>"PrefixFilter('rk')"}

查询 user 表中指定范围的数据

    scan 'user', {TIMERANGE => [1392368783980, 1392380169184]}

9.删除数据---delete

删除 user 表 row key 为 rk0001,列标示符为 info:name 的数据

    delete 'people', 'rk0001', 'info:name'

删除 user 表 row key 为 rk0001,列标示符为 info:name,timestamp 为 1392383705316 的数据

    delete 'user', 'rk0001', 'info:name', 1392383705316

10.清空表的数据---truncate

清空 user 表中的数据

    truncate 'people'

11.修改表结构相关

首先停用 user 表(新版本不用)---disable

    disable 'user'

添加两个列簇 f1 和 f2----alter

    alter 'people', NAME => 'f1'

    alter 'user', NAME => 'f2'

启用表---enable

    enable 'user'

删除一个列簇:

    disable 'user'(新版本不用)

    alter 'user', NAME => 'f1', METHOD => 'delete' 或 alter 'user', 'delete' => 'f1'

添加列簇 f1 同时删除列簇 f2

    alter 'user', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}

将 user 表的 f1 列簇版本号改为 5

    alter 'people', NAME => 'info', VERSIONS => 5

启用表

    enable 'user'

删除记录

    delete 'person', 'rk0001', 'info:name'

删除字段

    delete 'person', 'rk0001', 'info:name'

删除表

    disable 'user'

    drop 'user'


12.过滤器

get 'person', 'rk0001', {FILTER => "ValueFilter(=, 'binary:中国')"}

get 'person', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}

scan 'person', {COLUMNS => 'info:name'}

scan 'person', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}

scan 'person', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}

scan 'person', {COLUMNS => 'info', STARTROW => '20140201', ENDROW => '20140301'}

scan 'person', {COLUMNS => 'info:name', TIMERANGE => [1395978233636,1395987769587]}

alter 'person', NAME => 'ffff'

alter 'person', NAME => 'info', VERSIONS => 10

get 'user', 'rk0002', {COLUMN => ['info:name', 'data:pic']}

你可能感兴趣的:(hbase)