• hbase shell operate


    1, start hdfs 
    
    [hadoop@alamps sbin]$ ./start-all.sh
    This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
    Starting namenodes on [alamps]
    alamps: starting namenode, logging to /home/hadoop/app/hadoop-2.4.1/logs/hadoop-hadoop-namenode-alamps.out
    alamps: starting datanode, logging to /home/hadoop/app/hadoop-2.4.1/logs/hadoop-hadoop-datanode-alamps.out
    Starting secondary namenodes [0.0.0.0]
    0.0.0.0: starting secondarynamenode, logging to /home/hadoop/app/hadoop-2.4.1/logs/hadoop-hadoop-secondarynamenode-alamps.out
    starting yarn daemons
    starting resourcemanager, logging to /home/hadoop/app/hadoop-2.4.1/logs/yarn-hadoop-resourcemanager-alamps.out
    alamps: starting nodemanager, logging to /home/hadoop/app/hadoop-2.4.1/logs/yarn-hadoop-nodemanager-alamps.out
    [hadoop@alamps sbin]$ jps
    6976 Jps
    6352 DataNode
    6775 NodeManager
    6233 NameNode
    6508 SecondaryNameNode
    6654 ResourceManager
    
    2,  start hbase 
    [hadoop@alamps bin]$ ./start-hbase.sh 
    alamps: starting zookeeper, logging to /home/hadoop/hbase-0.96.2/bin/../logs/hbase-hadoop-zookeeper-alamps.out
    starting master, logging to /home/hadoop/hbase-0.96.2/bin/../logs/hbase-hadoop-master-alamps.out
    localhost: starting regionserver, logging to /home/hadoop/hbase-0.96.2/bin/../logs/hbase-hadoop-regionserver-alamps.out
    [hadoop@alamps bin]$ jps
    6352 DataNode
    7283 HQuorumPeer
    6775 NodeManager
    6233 NameNode
    7529 Jps
    7338 HMaster
    6508 SecondaryNameNode
    6654 ResourceManager
    7455 HRegionServer
    [hadoop@alamps bin]$ 
    
    3, hbase shell 
    =========================
    进入hbase命令行
    ./hbase shell
    
    显示hbase中的表
    list
    
    hbase(main):001:0> list
    TABLE                                                                                                                                                                                                    
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/home/hadoop/hbase-0.96.2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/home/hadoop/app/hadoop-2.4.1/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    0 row(s) in 1.8360 seconds
    
    => []
    hbase(main):002:0> create 'user', 'info1', 'data1'
    0 row(s) in 0.6790 seconds
    
    => Hbase::Table - user
    hbase(main):003:0> list
    TABLE                                                                                                                                                                                                    
    user                                                                                                                                                                                                     
    1 row(s) in 0.0670 seconds
    
    => ["user"]
    hbase(main):004:0> create 'user', {NAME => 'info', VERSIONS => '3'}
    
    ERROR: Table already exists: user!
    
    Here is some help for this command:
    Creates a table. Pass a table name, and a set of column family
    specifications (at least one), and, optionally, table configuration.
    Column specification can be a simple string (name), or a dictionary
    (dictionaries are described below in main help output), necessarily 
    including NAME attribute. 
    Examples:
    
    Create a table with namespace=ns1 and table qualifier=t1
      hbase> create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
    
    Create a table with namespace=default and table qualifier=t1
      hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
      hbase> # The above in shorthand would be the following:
      hbase> create 't1', 'f1', 'f2', 'f3'
      hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
      hbase> create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}}
      
    Table configuration options can be put at the end.
    Examples:
    
      hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
      hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40']
      hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'
      hbase> create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mykey' => 'myvalue' }
      hbase> # Optionally pre-split the table into NUMREGIONS, using
      hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
      hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
      hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit', CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}}
    
    You can also keep around a reference to the created table:
    
      hbase> t1 = create 't1', 'f1'
    
    Which gives you a reference to the table named 't1', on which you can then
    call methods.
    
    
    hbase(main):005:0> create 'user', {NAME => 'info1', VERSIONS => '3'}
    
    ERROR: Table already exists: user!
    
    Here is some help for this command:
    Creates a table. Pass a table name, and a set of column family
    specifications (at least one), and, optionally, table configuration.
    Column specification can be a simple string (name), or a dictionary
    (dictionaries are described below in main help output), necessarily 
    including NAME attribute. 
    Examples:
    
    Create a table with namespace=ns1 and table qualifier=t1
      hbase> create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
    
    Create a table with namespace=default and table qualifier=t1
      hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
      hbase> # The above in shorthand would be the following:
      hbase> create 't1', 'f1', 'f2', 'f3'
      hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
      hbase> create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}}
      
    Table configuration options can be put at the end.
    Examples:
    
      hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
      hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40']
      hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'
      hbase> create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mykey' => 'myvalue' }
      hbase> # Optionally pre-split the table into NUMREGIONS, using
      hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
      hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
      hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit', CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}}
    
    You can also keep around a reference to the created table:
    
      hbase> t1 = create 't1', 'f1'
    
    Which gives you a reference to the table named 't1', on which you can then
    call methods.
    
    
    hbase(main):006:0> san 'user'
    NoMethodError: undefined method `san' for #<Object:0x689973>
    
    hbase(main):007:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
    0 row(s) in 0.0330 seconds
    
    hbase(main):008:0> create 'user', {NAME => 'info1', VERSIONS => '3'}
    
    ERROR: Table already exists: user!
    
    Here is some help for this command:
    Creates a table. Pass a table name, and a set of column family
    specifications (at least one), and, optionally, table configuration.
    Column specification can be a simple string (name), or a dictionary
    (dictionaries are described below in main help output), necessarily 
    including NAME attribute. 
    Examples:
    
    Create a table with namespace=ns1 and table qualifier=t1
      hbase> create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
    
    Create a table with namespace=default and table qualifier=t1
      hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
      hbase> # The above in shorthand would be the following:
      hbase> create 't1', 'f1', 'f2', 'f3'
      hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
      hbase> create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}}
      
    Table configuration options can be put at the end.
    Examples:
    
      hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
      hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40']
      hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'
      hbase> create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mykey' => 'myvalue' }
      hbase> # Optionally pre-split the table into NUMREGIONS, using
      hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
      hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
      hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit', CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}}
    
    You can also keep around a reference to the created table:
    
      hbase> t1 = create 't1', 'f1'
    
    Which gives you a reference to the table named 't1', on which you can then
    call methods.
    
    
    hbase(main):009:0> put 'user', 'rk0001', 'info:name', 'zhangsan'
    
    ERROR: Failed 1 action: org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family info does not exist in region user,,1511513666149.7dafe6d1353a5be73a69aa03ffdbe8d3. in table 'user', {NAME => 'data1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => '2147483647', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}, {NAME => 'info1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => '2147483647', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
        at org.apache.hadoop.hbase.regionserver.HRegionServer.doBatchOp(HRegionServer.java:4100)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.doNonAtomicRegionMutation(HRegionServer.java:3380)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3284)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:26935)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2185)
        at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1889)
    : 1 time, 
    
    Here is some help for this command:
    Put a cell 'value' at specified table/row/column and optionally
    timestamp coordinates.  To put a cell value into table 'ns1:t1' or 't1'
    at row 'r1' under column 'c1' marked with the time 'ts1', do:
    
      hbase> put 'ns1:t1', 'r1', 'c1', 'value', ts1
    
    The same commands also can be run on a table reference. Suppose you had a reference
    t to table 't1', the corresponding command would be:
    
      hbase> t.put 'r1', 'c1', 'value', ts1
    
    
    hbase(main):010:0> put 'user', 'rk0001', 'info1:name', 'zhangsan'
    0 row(s) in 0.0050 seconds
    
    hbase(main):011:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
    1 row(s) in 0.0330 seconds
    
    hbase(main):012:0> delete 'user'
    
    ERROR: wrong number of arguments (1 for 3)
    
    Here is some help for this command:
    Put a delete cell value at specified table/row/column and optionally
    timestamp coordinates.  Deletes must match the deleted cell's
    coordinates exactly.  When scanning, a delete cell suppresses older
    versions. To delete a cell from  't1' at row 'r1' under column 'c1'
    marked with the time 'ts1', do:
    
      hbase> delete 'ns1:t1', 'r1', 'c1', ts1
      hbase> delete 't1', 'r1', 'c1', ts1
    
    The same command can also be run on a table reference. Suppose you had a reference
    t to table 't1', the corresponding command would be:
    
      hbase> t.delete 'r1', 'c1',  ts1
    
    
    hbase(main):013:0> list
    TABLE                                                                                                                                                                                                    
    user                                                                                                                                                                                                     
    1 row(s) in 0.0580 seconds
    
    => ["user"]
    hbase(main):014:0> delete 'user'
    
    ERROR: wrong number of arguments (1 for 3)
    
    Here is some help for this command:
    Put a delete cell value at specified table/row/column and optionally
    timestamp coordinates.  Deletes must match the deleted cell's
    coordinates exactly.  When scanning, a delete cell suppresses older
    versions. To delete a cell from  't1' at row 'r1' under column 'c1'
    marked with the time 'ts1', do:
    
      hbase> delete 'ns1:t1', 'r1', 'c1', ts1
      hbase> delete 't1', 'r1', 'c1', ts1
    
    The same command can also be run on a table reference. Suppose you had a reference
    t to table 't1', the corresponding command would be:
    
      hbase> t.delete 'r1', 'c1',  ts1
    
    
    hbase(main):015:0> delete user
    NameError: undefined local variable or method `user' for #<Object:0x689973>
    
    hbase(main):016:0> disable 'user'
    0 row(s) in 2.7590 seconds
    
    hbase(main):017:0> delete 'user'
    
    ERROR: wrong number of arguments (1 for 3)
    
    Here is some help for this command:
    Put a delete cell value at specified table/row/column and optionally
    timestamp coordinates.  Deletes must match the deleted cell's
    coordinates exactly.  When scanning, a delete cell suppresses older
    versions. To delete a cell from  't1' at row 'r1' under column 'c1'
    marked with the time 'ts1', do:
    
      hbase> delete 'ns1:t1', 'r1', 'c1', ts1
      hbase> delete 't1', 'r1', 'c1', ts1
    
    The same command can also be run on a table reference. Suppose you had a reference
    t to table 't1', the corresponding command would be:
    
      hbase> t.delete 'r1', 'c1',  ts1
    
    
    hbase(main):018:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
    
    ERROR: user is disabled.
    
    Here is some help for this command:
    Scan a table; pass table name and optionally a dictionary of scanner
    specifications.  Scanner specifications may include one or more of:
    TIMERANGE, FILTER, LIMIT, STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,
    or COLUMNS, CACHE
    
    If no columns are specified, all columns will be scanned.
    To scan all members of a column family, leave the qualifier empty as in
    'col_family:'.
    
    The filter can be specified in two ways:
    1. Using a filterString - more information on this is available in the
    Filter Language document attached to the HBASE-4176 JIRA
    2. Using the entire package name of the filter.
    
    Some examples:
    
      hbase> scan 'hbase:meta'
      hbase> scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}
      hbase> scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
      hbase> scan 't1', {FILTER => "(PrefixFilter ('row2') AND
        (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter ( 123, 456))"}
      hbase> scan 't1', {FILTER =>
        org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}
    
    For experts, there is an additional option -- CACHE_BLOCKS -- which
    switches block caching for the scanner on (true) or off (false).  By
    default it is enabled.  Examples:
    
      hbase> scan 't1', {COLUMNS => ['c1', 'c2'], CACHE_BLOCKS => false}
    
    Also for experts, there is an advanced option -- RAW -- which instructs the
    scanner to return all cells (including delete markers and uncollected deleted
    cells). This option cannot be combined with requesting specific COLUMNS.
    Disabled by default.  Example:
    
      hbase> scan 't1', {RAW => true, VERSIONS => 10}
    
    Besides the default 'toStringBinary' format, 'scan' supports custom formatting
    by column.  A user can define a FORMATTER by adding it to the column name in
    the scan specification.  The FORMATTER can be stipulated: 
    
     1. either as a org.apache.hadoop.hbase.util.Bytes method name (e.g, toInt, toString)
     2. or as a custom class followed by method name: e.g. 'c(MyFormatterClass).format'.
    
    Example formatting cf:qualifier1 and cf:qualifier2 both as Integers: 
      hbase> scan 't1', {COLUMNS => ['cf:qualifier1:toInt',
        'cf:qualifier2:c(org.apache.hadoop.hbase.util.Bytes).toInt'] } 
    
    Note that you can specify a FORMATTER by column only (cf:qualifer).  You cannot
    specify a FORMATTER for all columns of a column family.
    
    Scan can also be used directly from a table, by first getting a reference to a
    table, like such:
    
      hbase> t = get_table 't'
      hbase> t.scan
    
    Note in the above situation, you can still provide all the filtering, columns,
    options, etc as described above.
    
    
    
    hbase(main):019:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
    
    ERROR: user is disabled.
    
    Here is some help for this command:
    Scan a table; pass table name and optionally a dictionary of scanner
    specifications.  Scanner specifications may include one or more of:
    TIMERANGE, FILTER, LIMIT, STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,
    or COLUMNS, CACHE
    
    If no columns are specified, all columns will be scanned.
    To scan all members of a column family, leave the qualifier empty as in
    'col_family:'.
    
    The filter can be specified in two ways:
    1. Using a filterString - more information on this is available in the
    Filter Language document attached to the HBASE-4176 JIRA
    2. Using the entire package name of the filter.
    
    Some examples:
    
      hbase> scan 'hbase:meta'
      hbase> scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}
      hbase> scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
      hbase> scan 't1', {FILTER => "(PrefixFilter ('row2') AND
        (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter ( 123, 456))"}
      hbase> scan 't1', {FILTER =>
        org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}
    
    For experts, there is an additional option -- CACHE_BLOCKS -- which
    switches block caching for the scanner on (true) or off (false).  By
    default it is enabled.  Examples:
    
      hbase> scan 't1', {COLUMNS => ['c1', 'c2'], CACHE_BLOCKS => false}
    
    Also for experts, there is an advanced option -- RAW -- which instructs the
    scanner to return all cells (including delete markers and uncollected deleted
    cells). This option cannot be combined with requesting specific COLUMNS.
    Disabled by default.  Example:
    
      hbase> scan 't1', {RAW => true, VERSIONS => 10}
    
    Besides the default 'toStringBinary' format, 'scan' supports custom formatting
    by column.  A user can define a FORMATTER by adding it to the column name in
    the scan specification.  The FORMATTER can be stipulated: 
    
     1. either as a org.apache.hadoop.hbase.util.Bytes method name (e.g, toInt, toString)
     2. or as a custom class followed by method name: e.g. 'c(MyFormatterClass).format'.
    
    Example formatting cf:qualifier1 and cf:qualifier2 both as Integers: 
      hbase> scan 't1', {COLUMNS => ['cf:qualifier1:toInt',
        'cf:qualifier2:c(org.apache.hadoop.hbase.util.Bytes).toInt'] } 
    
    Note that you can specify a FORMATTER by column only (cf:qualifer).  You cannot
    specify a FORMATTER for all columns of a column family.
    
    Scan can also be used directly from a table, by first getting a reference to a
    table, like such:
    
      hbase> t = get_table 't'
      hbase> t.scan
    
    Note in the above situation, you can still provide all the filtering, columns,
    options, etc as described above.
    
    
    
    hbase(main):020:0> enable 'user'
    0 row(s) in 0.6160 seconds
    
    hbase(main):021:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
    1 row(s) in 0.0670 seconds
    
    hbase(main):022:0> put 'user', 'rk0001', 'info1:gender', 'female'
    0 row(s) in 0.0130 seconds
    
    hbase(main):023:0> scan 'user'
    ROW                            COLUMN+CELL                                                                             
     rk0001                        column=info1:gender, timestamp=1511514513331, value=female                              
     rk0001                        column=info1:name, timestamp=1511514175935, value=zhangsan                              
    1 row(s) in 0.0360 seconds
    
    
    
    hbase(main):025:0> put 'user', 'rk0001', 'info1:age', 20
    0 row(s) in 0.0250 seconds
    
    hbase(main):026:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
    1 row(s) in 0.0290 seconds
    
    
    Here is some help for this command:
    Put a cell 'value' at specified table/row/column and optionally
    timestamp coordinates.  To put a cell value into table 'ns1:t1' or 't1'
    at row 'r1' under column 'c1' marked with the time 'ts1', do:
    
      hbase> put 'ns1:t1', 'r1', 'c1', 'value', ts1
    
    The same commands also can be run on a table reference. Suppose you had a reference
    t to table 't1', the corresponding command would be:
    
      hbase> t.put 'r1', 'c1', 'value', ts1
    
    
    hbase(main):028:0> put 'user', 'rk0001', 'data1:pic', 'picture'
    0 row(s) in 0.0080 seconds
    
    hbase(main):029:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=data1:pic, timestamp=1511514630008, value=picture                                                                                             
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
    1 row(s) in 0.0270 seconds
    
    hbase(main):030:0> get 'user' rk001
    SyntaxError: (hbase):30: syntax error, unexpected tIDENTIFIER
    
    get 'user' rk001
                   ^
    
    hbase(main):031:0> get 'user', 'rk0001'
    COLUMN                                              CELL                                                                                                                                                 
     data1:pic                                          timestamp=1511514630008, value=picture                                                                                                               
     info1:age                                          timestamp=1511514577793, value=20                                                                                                                    
     info1:gender                                       timestamp=1511514513331, value=female                                                                                                                
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    4 row(s) in 0.0650 seconds
    
    hbase(main):032:0> get 'user', 'rk0001', 'info1'
    COLUMN                                              CELL                                                                                                                                                 
     info1:age                                          timestamp=1511514577793, value=20                                                                                                                    
     info1:gender                                       timestamp=1511514513331, value=female                                                                                                                
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    3 row(s) in 0.0390 seconds
    
    
    
    
    hbase(main):034:0> get 'user', 'rk0001', 'info1:name', 'info1:age'
    COLUMN                                              CELL                                                                                                                                                 
     info1:age                                          timestamp=1511514577793, value=20                                                                                                                    
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    2 row(s) in 0.0260 seconds
    
    hbase(main):035:0> get 'user', 'rk0001', 'info1', 'data1'
    COLUMN                                              CELL                                                                                                                                                 
     data1:pic                                          timestamp=1511514630008, value=picture                                                                                                               
     info1:age                                          timestamp=1511514577793, value=20                                                                                                                    
     info1:gender                                       timestamp=1511514513331, value=female                                                                                                                
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    4 row(s) in 0.0220 seconds
    
    hbase(main):036:0> get 'user', 'rk0001', {COLUMN => ['info1', 'data1']}
    COLUMN                                              CELL                                                                                                                                                 
     data1:pic                                          timestamp=1511514630008, value=picture                                                                                                               
     info1:age                                          timestamp=1511514577793, value=20                                                                                                                    
     info1:gender                                       timestamp=1511514513331, value=female                                                                                                                
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    4 row(s) in 0.0200 seconds
    
    hbase(main):037:0> get 'user', 'rk0001', {COLUMN => ['info1:name', 'data1:pic']}
    COLUMN                                              CELL                                                                                                                                                 
     data1:pic                                          timestamp=1511514630008, value=picture                                                                                                               
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    2 row(s) in 0.0400 seconds
    
    hbase(main):038:0> get 'user', 'rk0001', {COLUMN => 'info1:name', VERSIONS => 5}
    COLUMN                                              CELL                                                                                                                                                 
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    1 row(s) in 0.0130 seconds
    
    hbase(main):039:0> get 'user', 'rk0001', {FILTER => "ValueFilter(=, 'binary:图片')"}
    COLUMN                                              CELL                                                                                                                                                 
    0 row(s) in 0.0750 seconds
    
    hbase(main):040:0> get 'user', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}
    COLUMN                                              CELL                                                                                                                                                 
     info1:age                                          timestamp=1511514577793, value=20                                                                                                                    
     info1:name                                         timestamp=1511514175935, value=zhangsan                                                                                                              
    2 row(s) in 0.0290 seconds
    
    hbase(main):041:0> put 'user', 'rk0002', 'info1:name', 'fanbingbing'
    0 row(s) in 0.0110 seconds
    
    hbase(main):042:0> put 'user', 'rk0002', 'info1:gender', 'female'
    0 row(s) in 0.0040 seconds
    
    hbase(main):043:0> put 'user', 'rk0002', 'info1:nationality', '中国'
    0 row(s) in 0.0130 seconds
    
    hbase(main):044:0> get surscan 'user'
    NoMethodError: undefined method `surscan' for #<Object:0x689973>
    
    hbase(main):045:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=data1:pic, timestamp=1511514630008, value=picture                                                                                             
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0280 seconds
    
    hbase(main):046:0> scan 'user'
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=data1:pic, timestamp=1511514630008, value=picture                                                                                             
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0330 seconds
    
    hbase(main):047:0> get 'user', 'rk0002', {FILTER => "ValueFilter(=, 'binary:中国')"}
    COLUMN                                              CELL                                                                                                                                                 
     info1:nationality                                  timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                                              
    1 row(s) in 0.0130 seconds
    
    hbase(main):048:0> scan 'user', {COLUMNS => 'info'}
    ROW                                                 COLUMN+CELL                                                                                                                                          
    
    ERROR: Unknown column family! Valid column names: data1:*, info1:*
    
    Here is some help for this command:
    Scan a table; pass table name and optionally a dictionary of scanner
    specifications.  Scanner specifications may include one or more of:
    TIMERANGE, FILTER, LIMIT, STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,
    or COLUMNS, CACHE
    
    If no columns are specified, all columns will be scanned.
    To scan all members of a column family, leave the qualifier empty as in
    'col_family:'.
    
    The filter can be specified in two ways:
    1. Using a filterString - more information on this is available in the
    Filter Language document attached to the HBASE-4176 JIRA
    2. Using the entire package name of the filter.
    
    Some examples:
    
      hbase> scan 'hbase:meta'
      hbase> scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}
      hbase> scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
      hbase> scan 't1', {FILTER => "(PrefixFilter ('row2') AND
        (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter ( 123, 456))"}
      hbase> scan 't1', {FILTER =>
        org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}
    
    
    
    
    hbase(main):049:0> scan 'user', {COLUMNS => 'info1'}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0570 seconds
    
    hbase(main):050:0> scan 'user', {COLUMNS => 'info1', RAW => true, VERSIONS => 5}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0280 seconds
    
    hbase(main):051:0> scan 'user', {COLUMNS => 'info1', RAW => true, VERSIONS => 3}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0360 seconds
    
    hbase(main):052:0> scan 'user', {COLUMNS => ['info1', 'data1']}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=data1:pic, timestamp=1511514630008, value=picture                                                                                             
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0270 seconds
    
    hbase(main):053:0> scan 'user', {COLUMNS => ['info1:name', 'data1:pic']}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=data1:pic, timestamp=1511514630008, value=picture                                                                                             
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
    2 row(s) in 0.0380 seconds
    
    hbase(main):054:0> scan 'user', {COLUMNS => 'info1:name'}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
    2 row(s) in 0.0200 seconds
    
    hbase(main):055:0> scan 'user', {COLUMNS => 'info1:name', VERSIONS => 5}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
    2 row(s) in 0.0250 seconds
    
    hbase(main):056:0> scan 'user', {COLUMNS => 'info1:name', VERSIONS => 1}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
    2 row(s) in 0.0230 seconds
    
    hbase(main):057:0> scan 'user', {COLUMNS => 'info1:name', VERSIONS => 1}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
    2 row(s) in 0.0230 seconds
    
    hbase(main):058:0> scan 'people', {COLUMNS => ['info1', 'data1'], FILTER => "(QualifierFilter(=,'substring:a'))"}
    
    ERROR: Unknown table people!
    
    Here is some help for this command:
    Scan a table; pass table name and optionally a dictionary of scanner
    specifications.  Scanner specifications may include one or more of:
    TIMERANGE, FILTER, LIMIT, STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,
    or COLUMNS, CACHE
    
    If no columns are specified, all columns will be scanned.
    To scan all members of a column family, leave the qualifier empty as in
    'col_family:'.
    
    The filter can be specified in two ways:
    1. Using a filterString - more information on this is available in the
    Filter Language document attached to the HBASE-4176 JIRA
    2. Using the entire package name of the filter.
    
    Some examples:
    
      hbase> scan 'hbase:meta'
      hbase> scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}
      hbase> scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
      hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
      hbase> scan 't1', {FILTER => "(PrefixFilter ('row2') AND
        (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter ( 123, 456))"}
      hbase> scan 't1', {FILTER =>
        org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}
    
    For experts, there is an additional option -- CACHE_BLOCKS -- which
    switches block caching for the scanner on (true) or off (false).  By
    default it is enabled.  Examples:
    
      hbase> scan 't1', {COLUMNS => ['c1', 'c2'], CACHE_BLOCKS => false}
    
    Also for experts, there is an advanced option -- RAW -- which instructs the
    scanner to return all cells (including delete markers and uncollected deleted
    cells). This option cannot be combined with requesting specific COLUMNS.
    Disabled by default.  Example:
    
      hbase> scan 't1', {RAW => true, VERSIONS => 10}
    
    Besides the default 'toStringBinary' format, 'scan' supports custom formatting
    by column.  A user can define a FORMATTER by adding it to the column name in
    the scan specification.  The FORMATTER can be stipulated: 
    
     1. either as a org.apache.hadoop.hbase.util.Bytes method name (e.g, toInt, toString)
     2. or as a custom class followed by method name: e.g. 'c(MyFormatterClass).format'.
    
    Example formatting cf:qualifier1 and cf:qualifier2 both as Integers: 
      hbase> scan 't1', {COLUMNS => ['cf:qualifier1:toInt',
        'cf:qualifier2:c(org.apache.hadoop.hbase.util.Bytes).toInt'] } 
    
    Note that you can specify a FORMATTER by column only (cf:qualifer).  You cannot
    specify a FORMATTER for all columns of a column family.
    
    Scan can also be used directly from a table, by first getting a reference to a
    table, like such:
    
      hbase> t = get_table 't'
      hbase> t.scan
    
    Note in the above situation, you can still provide all the filtering, columns,
    options, etc as described above.
    
    
    
    hbase(main):059:0> scan 'user', {COLUMNS => ['info1', 'data1'], FILTER => "(QualifierFilter(=,'substring:a'))"}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0220 seconds
    
    hbase(main):060:0> scan 'user', {COLUMNS => 'info1', STARTROW => 'rk0001', ENDROW => 'rk0003'}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0250 seconds
    
    hbase(main):061:0> scan 'user',{FILTER=>"PrefixFilter('rk')"}
    ROW                                                 COLUMN+CELL                                                                                                                                          
     rk0001                                             column=data1:pic, timestamp=1511514630008, value=picture                                                                                             
     rk0001                                             column=info1:age, timestamp=1511514577793, value=20                                                                                                  
     rk0001                                             column=info1:gender, timestamp=1511514513331, value=female                                                                                           
     rk0001                                             column=info1:name, timestamp=1511514175935, value=zhangsan                                                                                           
     rk0002                                             column=info1:gender, timestamp=1511515593309, value=female                                                                                           
     rk0002                                             column=info1:name, timestamp=1511515593274, value=fanbingbing                                                                                        
     rk0002                                             column=info1:nationality, timestamp=1511515595502, value=xE4xB8xADxE5x9BxBD                                                                    
    2 row(s) in 0.0430 seconds
    
    hbase(main):062:0> [hadoop@alamps sbin]$ scan 'user', {TIMERANGE => [1511514175935, 1511514630008]}
    -bash: scan: command not found
    [hadoop@alamps sbin]$ scan 'user', {TIMERANGE => [1511514175935]}
    -bash: scan: command not found
    [hadoop@alamps sbin]$ delete 'user', 'rk0001', 'info:name'
    -bash: delete: command not found
    [hadoop@alamps sbin]$ delete 'user', 'rk0001', 'info1:name'
    -bash: delete: command not found
    [hadoop@alamps sbin]$ delete 'user', 'rk0001', 'info1:name'
    -bash: delete: command not found
    [hadoop@alamps sbin]$ truncate 'user'
    truncate: you must specify one of `--size' or `--reference'
    Try `truncate --help' for more information.
    [hadoop@alamps sbin]$ truncate 'user'
    truncate: you must specify one of `--size' or `--reference'
    Try `truncate --help' for more information.
    [hadoop@alamps sbin]$ alter 'user', NAME => 'f2'
    -bash: alter: command not found
    [hadoop@alamps sbin]$ alter 'user', NAME => 'f1', METHOD => 'delete' 
    -bash: alter: command not found
    [hadoop@alamps sbin]$ drop 'user'
    -bash: drop: command not found
    [hadoop@alamps sbin]$ get 'user', 'rk0002', {COLUMN => ['info1:name', 'data1:pic']}
    -bash: get: command not found
    [hadoop@alamps sbin]$ get 'user', 'rk0001', {COLUMN => ['info1:name', 'data1:pic']}
    -bash: get: command not found
    [hadoop@alamps sbin]$ get 'user'
    -bash: get: command not found
    [hadoop@alamps sbin]$ hbase shell
    2017-11-24 01:48:53,388 INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
    HBase Shell; enter 'help<RETURN>' for list of supported commands.
    Type "exit<RETURN>" to leave the HBase Shell
    Version 0.96.2-hadoop2, r1581096, Mon Mar 24 16:03:18 PDT 2014
    
    hbase(main):001:0> get 'user', 'rk0002', {COLUMN => ['info1:name', 'data1:pic']}
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/home/hadoop/hbase-0.96.2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/home/hadoop/app/hadoop-2.4.1/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    COLUMN                                              CELL                                                                                                                                                 
     info1:name                                         timestamp=1511515593274, value=fanbingbing                                                                                                           
    1 row(s) in 0.0750 seconds
    
    hbase(main):002:0> list
    TABLE                                                                                                                                                                                                    
    user                                                                                                                                                                                                     
    1 row(s) in 0.1340 seconds
    
    => ["user"]
    hbase(main):003:0> get 'user'
  • 相关阅读:
    heartbeat 心跳技术
    国产数据库有哪些?
    Redis(1.9)Redis主从复制
    Redis(1.8)Redis与mysql的数据库同步(缓存穿透与缓存雪崩)
    分布式系统/NoSQL
    Redis(1.7)Redis高可用架构与数据库交互(理论篇)
    Redis(1.6)Redis发布订阅
    Redis(1.5)Redis配置文件(4.0.14)
    (5.3.4)数据库迁移——数据对比(结构、数据类型)
    【基本优化实践】【1.5】如何在线稳定的删除/更新大量数据?
  • 原文地址:https://www.cnblogs.com/alamps/p/7891766.html
Copyright © 2020-2023  润新知