[
https://issues.apache.org/jira/browse/HBASE-9756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yang Wang updated HBASE-9756:
-----------------------------
Attachment: HBASE-9756.patch
Attach a patch to improve HBase shell.
> 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
> Attachments: HBASE-9756.patch
>
>
> 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)