You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Yang Wang (JIRA)" <ji...@apache.org> on 2013/10/14 04:41:42 UTC

[jira] [Created] (HBASE-9756) HBase shell help info would be better to display only when usage error instead of any exception

Yang Wang created HBASE-9756:
--------------------------------

             Summary: HBase shell help info would be better to display only when usage error instead of any exception
                 Key: HBASE-9756
                 URL: https://issues.apache.org/jira/browse/HBASE-9756
             Project: HBase
          Issue Type: Improvement
          Components: shell
            Reporter: Yang Wang
            Priority: Minor


When error occurred in HBase shell, no matter what error it is, the help info will display. As help info is used to instruct how to use the command, so it would be better to show help info only when the command is used in a wrong way.

{noformat}
Example :

hbase(main):009:0* create 't1', 'cf1'

ERROR: Table already exists: t1!

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:

  hbase> create 't1', {NAME => 'f1', VERSIONS => 5}
  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 '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.

{noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)