[
https://issues.apache.org/jira/browse/HBASE-5548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13257760#comment-13257760
]
stack commented on HBASE-5548:
------------------------------
Sorry Jesse for taking a while to get back to this. Patch looks good. I tried
it some more and got this:
{code}
hbase(main):011:0> t.put 'x', 'y:x', 'x'
0 row(s) in 0.0110 seconds
hbase(main):012:0> t.get 'x'
COLUMN CELL
ERROR: undefined method `get_internal' for Hbase::Table - y:Hbase::Table
Here is some help for this command:
Get row or cell contents; pass table name, row, and optionally
a dictionary of column(s), timestamp, timerange and versions. Examples:
hbase> get 't1', 'r1'
hbase> get 't1', 'r1', {TIMERANGE => [ts1, ts2]}
hbase> get 't1', 'r1', {COLUMN => 'c1'}
hbase> get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
hbase> get 't1', 'r1', {COLUMN => 'c1', TIMESTAMP => ts1}
hbase> get 't1', 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS =>
4}
hbase> get 't1', 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4}
hbase> get 't1', 'r1', 'c1'
hbase> get 't1', 'r1', 'c1', 'c2'
hbase> get 't1', 'r1', ['c1', 'c2']
The same commands also can be run on a table reference. Suppose you had a
reference
t to table 't1', the corresponding commands would be:
hbase> t.get 'r1'
hbase> t.get 'r1', {TIMERANGE => [ts1, ts2]}
hbase> t.get 'r1', {COLUMN => 'c1'}
hbase> t.get 'r1', {COLUMN => ['c1', 'c2', 'c3']}
hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1}
hbase> t.get 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}
hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4}
hbase> t.get 'r1', 'c1'
hbase> t.get 'r1', 'c1', 'c2'
hbase> t.get 'r1', ['c1', 'c2']
{code}
Seems like an issue?
Also in the help, talks about a table reference without explaining what it is
(there is no mention of what this is in the general help either it seems). It
could be confusing talking about a 't' w/o saying where it came from?
I like the output of t.help.
This is odd though:
{code}
hbase> t.put 'r', 'c', 'q', 'v'
which puts a row 'r' with column family 'c', qualifier 'q' and value 'v' into
table t.
{code}
In the rest of the shell columns are a combo of family and qualifier delimited
by the ':'. You are changing that w/ the above.
> Add ability to get a table in the shell
> ---------------------------------------
>
> Key: HBASE-5548
> URL: https://issues.apache.org/jira/browse/HBASE-5548
> Project: HBase
> Issue Type: Improvement
> Components: shell
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Fix For: 0.96.0, 0.94.1
>
> Attachments: ruby_HBASE-5528-v0.patch, ruby_HBASE-5548-v1.patch,
> ruby_HBASE-5548-v2.patch, ruby_HBASE-5548-v3.patch
>
>
> Currently, all the commands that operate on a table in the shell first have
> to take the table as name as input.
> There are two main considerations:
> * It is annoying to have to write the table name every time, when you should
> just be able to get a reference to a table
> * the current implementation is very wasteful - it creates a new HTable for
> each call (but reuses the connection since it uses the same configuration)
> We should be able to get a handle to a single HTable and then operate on that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira