zoukankan      html  css  js  c++  java
  • hbase的Shell命令操作

    hbase的Shell命令操作

    hbase的命令操作表

    help                                      查看命令的使用描述 help '命令名'
    whoami 身份(root、user) whoami
    version 返回hbase版本信息 version
    status 返回hbase集群的状态信息 status
    table_help 查看如何操作表 table_help
    create 创建表 create '表名', '列族名1', '列族名2', '列族名N'
    alter 修改列族 添加列族:alter '表名', NAME=>'列族名'
    删除列族:alter '表名', {NAME=> '列族名', METHOD=> 'delete'}
    describe 显示表相关的详细信息 describe '表名'
    list 列出hbase中存在的所有表 list
    exists 测试表是否存在 exists '表名'
    put 添加或修改的表的值 put '表名', '行键', '列族名', '列值'
    put '表名', '行键', '列族名:列名', '列值'
    scan 通过对表的扫描来获取对用的值 scan '表名'
    扫描某个列族:scan '表名',{COLUMN=>'列族名',FORMATTER =>'toString'}
    扫描某个列族的某个列:scan '表名', {COLUMN=>'列族名:列名'}
    查询同一个列族的多个列: scan '表名', {COLUMNS => [ '列族名1:列名1', '列族名1:列名2' …]}
    get 获取行或单元(cell)的值 get '表名', '行键'
    get '表名', '行键', '列族名'
    count 统计表中行的数量 count '表名'
    incr 增加指定表行或列的值 incr '表名', '行键', '列族:列名', 步长值
    get_counter 获取计数器 get_counter '表名', '行键', '列族:列名'
    delete 删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值) 删除列族的某个列: delete 表名', '行键', '列族名:列名'
    deleteall 删除指定行的所有元素值 deleteall '表名', '行键'
    truncate 重新创建指定表(清空表) truncate '表名'
    enable 使表有效 enable '表名'
    is_enabled 是否启用 is_enabled '表名'
    disable 使表无效(删除表之前先禁用) disable '表名'
    is_disabled 是否无效 is_disabled '表名'
    drop 删除表 drop的表必须是disable的
    disable '表名'
    drop '表名'
    shutdown 关闭hbase集群(与exit不同)  
    tools 列出hbase所支持的工具  
    exit 退出hbase shell

    Shell命令的基本操作:

    1. 创建表create

    注意:创建表时只需要指定列族名称,不需要指定列名。

    # 语法
    create '表名', {NAME => '列族名1'}, {NAME => '列族名2'}, {NAME => '列族名3'}
    # 此种方式是上上面的简写方式,使用上面方式可以为列族指定更多的属性,如VERSIONS、TTL、BLOCKCACHE、CONFIGURATION等属性
    create '表名', '列族名1', '列族名2', '列族名3'
    
    create '表名', {NAME => '列族名1', VERSIONS => 版本号, TTL => 过期时间, BLOCKCACHE => true}
    
    
    # 示例
    create 'tbl_user', 'info', 'detail'
    create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}

    2. 修改(添加、删除)表结构Schema alter

    2.1 添加一个列族

    # 语法 
    alter '表名', '列族名'
    
    # 示例
    alter 'tbl_user', 'address'

    2.2 删除一个列族

    # 语法 
    alter '表名', {NAME=> '列族名', METHOD=> 'delete'}
    
    # 示例
    alter 'tbl_user', {NAME=> 'address', METHOD=> 'delete'}

    表是否存在exists

    # 语法 
    exists '表名'
    
    # 示例
    exists 'tbl_user'

    启用表enable和禁用表disable

    # 语法
    enable '表名'
    is_enabled '表名'
    
    disable '表名'
    is_disabled '表名'
    
    # 示例
    disable 'tbl_user'
    is_disabled 'tbl_user'
    
    enable 'tbl_user'
    is_enabled 'tbl_user'

    删除表drop

    # 语法
    disable '表名'
    drop '表名'
    
    # 示例
    disable 'tbl_user'
    drop 'tbl_user'

    插入或者修改数据put

    # 语法
    # 当列族中只有一个列时'列族名:列名'使用'列族名'
    put '表名', '行键', '列族名', '列值'
    put '表名', '行键', '列族名:列名', '列值'
    
    # 示例
    
    # 创建表
    create 'tbl_user', 'info', 'detail', 'address'
    
    # 第一行数据
    put 'tbl_user', 'mengday', 'info:id', '1'
    put 'tbl_user', 'mengday', 'info:name', '张三'
    put 'tbl_user', 'mengday', 'info:age', '28'
    
    put 'tbl_user', 'mengday', 'detail:birthday', '1990-06-26'
    put 'tbl_user', 'mengday', 'detail:email', 'abc@163.com'
    put 'tbl_user', 'mengday', 'detail:create_time', '2019-03-04 14:26:10'
    
    put 'tbl_user', 'mengday', 'address', '上海市'
    
    # 第二行数据
    put 'tbl_user', 'vbirdbest', 'info:id', '2'
    put 'tbl_user', 'vbirdbest', 'info:name', '李四'
    put 'tbl_user', 'vbirdbest', 'info:age', '27'
    
    put 'tbl_user', 'vbirdbest', 'detail:birthday', '1990-06-27'
    put 'tbl_user', 'vbirdbest', 'detail:email', 'xxx@gmail.com'
    put 'tbl_user', 'vbirdbest', 'detail:create_time', '2019-03-05 14:26:10'
    
    put 'tbl_user', 'vbirdbest', 'address', '北京市'
    
    
    # 第一行数据
    put 'tbl_user', 'xiaoming', 'info:id', '3'
    put 'tbl_user', 'xiaoming', 'info:name', '王五'
    put 'tbl_user', 'xiaoming', 'info:age', '26'
    
    put 'tbl_user', 'xiaoming', 'detail:birthday', '1990-06-28'
    put 'tbl_user', 'xiaoming', 'detail:email', 'xyz@qq.com'
    put 'tbl_user', 'xiaoming', 'detail:create_time', '2019-03-06 14:26:10'
    
    put 'tbl_user', 'xiaoming', 'address', '杭州市'

    全表扫描scan

    # 语法
    scan '表名'
    
    # 示例
    scan 'tbl_user'

    扫描整个列簇

    # 语法
    scan '表名', {COLUMN=>'列族名'}
    
    # 示例
    scan 'tbl_user', {COLUMN=>'info'}

    获取数据get

    # 语法
    get '表名', '行键'
    
    # 示例
    get 'tbl_user', 'mengday'

    删除某个列族中的某个列delete

    # 语法
    delete '表名', '行键', '列族名:列名'
    
    
    create 'tbl_test', 'columnFamily1'
    
    put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value1'
    put 'tbl_test', 'rowKey1', 'columnFamily1:column2', 'value2'
    
    delete 'tbl_test', 'rowKey1', 'columnFamily1:column1'

    删除某行数据deleteall

    # 语法
    deleteall '表名', '行键'
    
    # 示例
    deleteall 'tbl_test', 'rowKey1'
  • 相关阅读:
    MYbatis调试日记(三)
    Mybatis错误调试(二)
    【转载】MyBatis之传入参数
    Mybatis代码调试问题总结(一)
    【转载】Mybatis多参数查询映射
    未整理的资源
    Strace--系统调用分析问题集锦
    java初始化过程中成员变量
    java三元表达式编程规范问题
    转:Java的一道面试题----静态变量初始化过程
  • 原文地址:https://www.cnblogs.com/xiaofengzai/p/13842911.html
Copyright © 2011-2022 走看看