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

Add namespace help info in table related shell commands

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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. HBASE-10389-trunk.patch
          21 kB
          Jerry He
        2. 10389.096.txt
          18 kB
          Michael Stack

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment