HBase详细介绍及原理解析!( 二 )

  • VERSIONS指定查询的最大版本数 。
  • hbase(main):021:0> scan 'user', {COLUMNS => 'base_info'}hbase(main):022:0> scan 'user', {COLUMNS => 'base_info', RAW => true, VERSIONS => 5}多列族查询:
    • 查询user表中列族为info和data的信息 。
    hbase(main):023:0> scan 'user', {COLUMNS => ['base_info', 'extra_info']}hbase(main):024:0> scan 'user', {COLUMNS => ['base_info:name', 'extra_info:address']}指定列族与某个列名查询:
    • 查询user表中列族为base_info、列标示符为name的信息 。
    hbase(main):025:0> scan 'user', {COLUMNS => 'base_info:name'}指定列族与列名以及限定版本查询:
    • 查询user表中列族为base_info、列标示符为name的信息,并且版本最新的5个 。
    hbase(main):026:0> scan 'user', {COLUMNS => 'base_info:name', VERSIONS => 5}指定多个列族与按照数据值模糊查询:
    • 查询user表中列族为 base_info 和 extra_info且列标示符中含有a字符的信息 。
    hbase(main):027:0> scan 'user', {COLUMNS => ['base_info', 'extra_info'], FILTER => "(QualifierFilter(=,'substring:a'))"}rowkey的范围值查询:
    • 查询user表中列族为info,rk范围是[rk0001, rk0003)的数据 。
    hbase(main):028:0> scan 'user', {COLUMNS => 'base_info', STARTROW => 'rk0001', ENDROW => 'rk0003'}指定rowkey模糊查询:
    • 查询user表中row key以rk字符开头的 。
    hbase(main):029:0> scan 'user',{FILTER=>"PrefixFilter('rk')"}更新数据值:
    • 把user表中rowkey为rk0001的base_info列族下的列name修改为zhangsansan 。
    hbase(main):030:0> put 'user', 'rk0001', 'base_info:name', 'zhangsansan'指定rowkey以及列名进行删除:
    • 删除user表row key为rk0001,列标示符为 base_info:name 的数据 。
    hbase(main):032:0>delete 'user', 'rk0001', 'base_info:name'指定rowkey,列名以及字段值进行删除:
    • 删除user表row key为rk0001,列标示符为base_info:name , timestamp为1392383705316的数据 。
    hbase(main):033:0> delete 'user', 'rk0001', 'base_info:age', 1564745324798删除 base_info 列族 。
    hbase(main):034:0> alter 'user', NAME => 'base_info', METHOD => 'delete' hbase(main):035:0> alter 'user', 'delete' => 'base_info'删除user表数据:
    hbase(main):036:0> truncate 'user'删除user表:
    #先disable再drophbase(main):036:0> disable 'user'hbase(main):037:0> drop 'user'#如果不进行disable,直接drop会报错ERROR: Table user is enabled. Disable it first.数据模型逻辑结构:
    HBase详细介绍及原理解析!

    文章插图
    物理架构:
    HBase详细介绍及原理解析!

    文章插图

    HBase详细介绍及原理解析!

    文章插图
    Rowkey(行键):
    • Table 的主键,Table 中的记录按照 Rowkey 的字典序进行排序 。
    Column Family(列族):
    • 表中的每个列,都归属与某个列族 。
    • 列族是表的 Schema 的一部分,必须在使用表之前定义 。
    Timestamp(时间戳):
    • 每次数据操作对应的时间戳,可以看作是数据的 Version 版本号 。
    Column(列):