zoukankan      html  css  js  c++  java
  • Hbase常用Shell命令

    status 查看系统状态

    hbase(main):010:0> status
    1 active master, 0 backup masters, 4 servers, 0 dead, 6.5000 average load
    

    version 查看版本号

    hbase(main):011:0> version
    1.2.0-cdh5.7.2, rUnknown, Fri Jul 22 12:20:40 PDT 2016
    

    table_help 查看提示信息

    hbase(main):012:0> table_help
    Help for table-reference commands.
    
    You can either create a table via 'create' and then manipulate the table via commands like 'put', 'get', etc.
    See the standard help information for how to use each of these commands.
    
    However, as of 0.96, you can also get a reference to a table, on which you can invoke commands.
    For instance, you can get create a table and keep around a reference to it via:
    
       hbase> t = create 't', 'cf'
    
    Or, if you have already created the table, you can get a reference to it:
    
       hbase> t = get_table 't'
    
    You can do things like call 'put' on the table:
    
      hbase> t.put 'r', 'cf:q', 'v'
    
    which puts a row 'r' with column family 'cf', qualifier 'q' and value 'v' into table t.
    
    To read the data out, you can scan the table:
    
      hbase> t.scan
    
    which will read all the rows in table 't'.
    
    Essentially, any command that takes a table name can also be done via table reference.
    Other commands include things like: get, delete, deleteall,
    get_all_columns, get_counter, count, incr. These functions, along with
    the standard JRuby object methods are also available via tab completion.
    
    For more information on how to use each of these commands, you can also just type:
    
       hbase> t.help 'scan'
    
    which will output more information on how to use that command.
    
    You can also do general admin actions directly on a table; things like enable, disable,
    flush and drop just by typing:
    
       hbase> t.enable
       hbase> t.flush
       hbase> t.disable
       hbase> t.drop
    
    Note that after dropping a table, your reference to it becomes useless and further usage
    is undefined (and not recommended).
    

    表的管理

    create 创建表

    hbase(main):014:0> create 'xt','xcf'
    0 row(s) in 2.5340 seconds
    
    => Hbase::Table - xt
    hbase(main):015:0>
    

    list 查看表

    hbase(main):015:0> list
    TABLE
    ...
    xt
    17 row(s) in 0.0200 seconds
    
    => [..."xt"]
    hbase(main):016:0>
    

    describe 表的描述

    hbase(main):017:0> describe 'xt'
    Table xt is ENABLED
    xt
    COLUMN FAMILIES DESCRIPTION
    {NAME => 'xcf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE',
    TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
    1 row(s) in 0.0500 seconds
    

    disable 表的禁用

    hbase(main):038:0> disable 'xt'
    0 row(s) in 8.7530 seconds
    

    drop 表的删除

    hbase(main):039:0> drop 'xt'
    0 row(s) in 2.3130 seconds
    

    exsits 判断是否存在

    hbase(main):040:0> exists 'xt'
    Table xt does not exist
    0 row(s) in 0.0110 seconds
    

    数据操作

    put 增加和修改数据

    向指定的列族中插入数据

    hbase(main):019:0> put 'xt','1','xcf:col_name1','col_value1'
    0 row(s) in 0.0080 seconds
    
    hbase(main):020:0> put 'xt','1','xcf:col_name2','col_value2'
    0 row(s) in 0.0050 seconds
    

    get 查询数据

    hbase(main):021:0> get 'xt','1'
    COLUMN                              CELL
     xcf:col_name1                      timestamp=1496997489039, value=col_value1
     xcf:col_name2                      timestamp=1496997502916, value=col_value2
    2 row(s) in 0.0110 seconds
    
    hbase(main):022:0> get 'xt','1',{COLUMN => 'xcf:col_name1'}
    COLUMN                              CELL
     xcf:col_name1                      timestamp=1496997489039, value=col_value1
    1 row(s) in 0.0520 seconds
    
    hbase(main):023:0>
    

    delete 删除数据

    hbase(main):023:0> delete 'xt','1','xcf:col_name1'
    0 row(s) in 0.0280 seconds
    
    hbase(main):024:0> get 'xt','1'
    COLUMN                              CELL
     xcf:col_name2                      timestamp=1496997502916, value=col_value2
    1 row(s) in 0.0030 seconds
    
    hbase(main):026:0> deleteall 'xt','1'
    0 row(s) in 0.0030 seconds
    
    hbase(main):028:0> get 'xt','1'
    COLUMN                              CELL
    0 row(s) in 0.0070 seconds
    

    scan 扫描全部数据

    hbase(main):029:0> put 'xt','1','xcf:col1','123'
    0 row(s) in 0.0230 seconds
    
    hbase(main):030:0> put 'xt','2','xcf:col1','123'
    0 row(s) in 0.0040 seconds
    
    hbase(main):031:0> put 'xt','3','xcf:col1','123'
    0 row(s) in 0.0040 seconds
    
    hbase(main):032:0> put 'xt','4','xcf:col1','123'
    0 row(s) in 0.0040 seconds
    
    hbase(main):033:0> scan 'xt'
    ROW                                 COLUMN+CELL
     1                                  column=xcf:col1, timestamp=1496998219258, value=123
     2                                  column=xcf:col1, timestamp=1496998223993, value=123
     3                                  column=xcf:col1, timestamp=1496998227824, value=123
     4                                  column=xcf:col1, timestamp=1496998230678, value=123
    4 row(s) in 0.0140 seconds
    

    count 统计表个数

    hbase(main):034:0> count 'xt'
    4 row(s) in 0.0170 seconds
    
    => 4
    

    truncate 清空表数据

    hbase(main):035:0> truncate 'xt'
    Truncating 'xt' table (it may take a while):
     - Disabling table...
     - Truncating table...
    0 row(s) in 104.8850 seconds
    
    hbase(main):036:0> count 'xt'
    0 row(s) in 23.6480 seconds
    
    => 0
    hbase(main):037:0>
    
  • 相关阅读:
    day29 作业
    day 29 线程
    day28 进程
    day27 服务端 和客户端
    day26 作业
    day26 网络编程
    java基础 反射
    python 计时
    mongodb 批量插入唯一索引冲突
    js hook
  • 原文地址:https://www.cnblogs.com/xing901022/p/6974178.html
Copyright © 2011-2022 走看看