Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-10389

Add namespace help info in table related shell commands

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.96.0, 0.96.1
    • 0.96.2, 0.98.1, 0.99.0
    • shell
    • None
    • Reviewed

    Description

      Currently in the help info of table related shell command, we don't mention or give namespace as part of the table name.
      For example, to create table:

      hbase(main):001:0> help 'create'
      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.
      

      We should document the usage of namespace in these commands.
      For example:

      #namespace=foo and table qualifier=bar
      create 'foo:bar', 'fam'

      #namespace=default and table qualifier=bar
      create 'bar', 'fam'

      Attachments

        1. 10389.096.txt
          18 kB
          Michael Stack
        2. HBASE-10389-trunk.patch
          21 kB
          Jerry He

        Activity

          People

            jinghe Jerry He
            jinghe Jerry He
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: