• HBase后续随笔


    HBase命令行终端:hbase shell
    F1、表空间管理:
    1、查看表空间
    hbase(main):002:0> list_namespace
    2、查看表空间下有哪些表
    hbase(main):003:0> list_namespace_tables 'default'
    3、创建表空间
    hbase(main):005:0> create_namespace 'bunfly'
    4、删除表空间
    hbase(main):008:0> drop_namespace 'bunfly'

    F2、表的定义
    1、创建表空间下的表(VERSIONS表示列族所存的最多版本数):
    hbase(main):011:0> create 'bunfly:tuser',{NAME=>'baseinfo',VERSIONS=>5},{NAME=>'extrainfo',VERSIONS=>3}
    查看表结构:
    hbase(main):012:0> describe 'bunfly:tuser'
    2、修改表:
    hbase(main):013:0> alter 'bunfly:tuser',{NAME=>'baseinfo',VERSIONS=>3}
    3、修改表定义,删除列族baseinfo
    hbase(main):016:0> alter 'bunfly:tuser',{NAME=>'baseinfo',METHOD=>'delete'}
    4、增加列族base
    hbase(main):017:0> alter 'bunfly:tuser',{NAME=>'base',VERSIONS=>5}
    5、删除表定义
    1、判断是否存在表定义:
    hbase(main):019:0> exists 'bunfly:tuser'
    2、先要disable表定义:
    hbase(main):020:0> disable 'bunfly:tuser'
    3、删除表定义:
    hbase(main):021:0> drop 'bunfly:tuser'
    注:出现NotdisableException(修改为可用)异常时的操作:
    disable 表定义 (enable 表定义--->可用)
    is_enabled 表定义 (is_disable 表定义 ---->true)--->false
    describe 表定义

    小结:
    命名空间的DDL语法为:xxx_namespace 'namespace' 例:create、drop等
    xxx 'namespace:tabname',{NAME='yyyy',VERSION='number',METHOD='delete'}对应的增删改

    HBase数据管理
    -------------
    #创建表定义
    hbase(main):022:0> create 'bunfly:tuser',{NAME=>'base',VERSIONS=>5},{NAME=>'extra',VERSIONS=>3}
    #添加表数据
    hbase(main):023:0> put 'bunfly:tuser','001','base:name','ligang'
    #读取表数据
    hbase(main):024:0> get 'bunfly:tuser','001','base:name'
    hbase(main):034:0> get 'bunfly:tuser','001' --->查看列族中所有字段值
    hbase(main):039:0> scan 'bunfly:tuser' ---->扫描显示表定义下的所有字段值
    #修改表数据
    hbase(main):025:0> put 'bunfly:tuser','001','base:name','zhaoyun'
    #删除表数据
    hbase(main):027:0> delete 'bunfly:tuser','001','base:name'
    #清空表数据
    hbase(main):029:0> truncate 'bunfly:tuser'
    #将表全名封装成对象
    hbase(main):043:0> tuser=get_table 'bunfly:tuser'
    使用对象调用
    hbase(main):044:0> tuser.scan
    hbase(main):045:0> tuser.count ---->看表行健值

    DQL数据检索与查询
    #根据行键检索对应记录中的所有列族下的所有键值对
    get 'bunfly:tuser','liubei+20121212+beijing'
    #根据行健和列族检索对应列族中的所有键值对
    get 'bunfly:tuser','001','base:name','base:age'
    #GET的过滤功能(根据Value值过滤,根据key过滤用QualifierFilter)
    get 'bunfly:tuser','002',{FILTER=>"ValueFilter(=,'substring:liubei')"}
    get 'bunfly:tuser','001',{FILTER=>"QualifierFilter(=,'substring:name')"}
    -------------
    get只能返回单行记录中的键值对
    #scan过滤
    scan 'bunfly:tuser',{COLUMNS=>'base'}
    scan 'bunfly:tuser',{COLUMNS=>['base','extra']}
    scan 'bunfly:tuser',{COLUMNS=>['base:name','extra:age']}
    #scan过滤(根据Value值过滤,根据key过滤用QualifierFilter)
    scan 'bunfly:tuser',{COLUMNS=>['base','extra'],FILTER=>"ValueFilter(=,'substring:liubei')"}
    scan 'bunfly:tuser',{COLUMNS=>['base','extra'],FILTER=>"QualifierFilter(=,'substring:age')"}
    #根据行键前闭后开查询
    scan 'bunfly:tuser',{COLUMNS=>['base','extra'],STARTROW=>'002',ENDROW=>'004'}
    #根据行键索引查询
    scan 'bunfly:tuser',{ROWPREFIXFILTER=>'ligang'}
    #根据行健分页查询显示
    scan 'bunfly:tuser',{COLUMN=>['base','extra'],STARTROW=>'002',LIMIT=>3}

  • 相关阅读:
    虚拟机安装RHEL8.0.0
    给KVM添加新的磁盘
    RedHat7.4安装在个人电脑(笔记本)中安装遇到的问题总结
    shell编程-ssh免交互批量分发公钥脚本
    Error:Connection activation failed: No suitable device found for this connection 问题最新解决方案
    Linux下系统防火墙的发展历程和怎样学好防火墙(iptalbes和firewalld)
    Linux bash命令行常用快捷键(Xshell和secure CRT以及gnome-terminal)
    编写mysql多实例启动脚本
    RHEL7配置端口转发和地址伪装
    java中的事务,四大特性,并发造成的问题,隔离级别
  • 原文地址:https://www.cnblogs.com/pandazhao/p/8127044.html
Copyright © 2020-2023  润新知