hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Daniel Cryans" <jdcry...@gmail.com>
Subject Re: HQL future?
Date Fri, 18 Jul 2008 02:10:04 GMT
Answers inline. My general comment, we have some documentation to fix before
the official release of 0.2.0

Thank you Fredric!


On Thu, Jul 17, 2008 at 7:06 PM, Rick Hangartner <hangartner@strands.com>

> Thanks Jean-Daniel.
> When I saw the "HBase Shell" link on the wiki, I should have clicked.  I
> assumed  that this was just a link to the HBase HQL shell info.  I didn't
> quite connect the comment about the obsoleted JRuby interface on the next
> line.  (I actually thought there were two shells and since we are do pure
> Java just ignored Ruby mentions).

Yes, it is confusing. Will be fixed by the time we release 0.2.0 (RC coming

> One other question.  The full grammar of the JRuby shell is not spelled out
> on the linked page.  Building on the "get" command examples, are any of
> these going to be a legal commands:
> 1) hbase>  get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3'], VERSIONS => 4}
For the moment, it is not.  getRow method is missing the nb of versions.

> 2) hbase>  get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3'], TIMESTAMP => tsl}

Yes, it is. API equivalent is "public RowResult getRow(final String row,
final String [] columns, final long ts)"

> 3) hbase>  get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3'], VERSIONS => 4,
> TIMESTAMP => tsl}

For the moment, it is not. getRow method is missing the nb of versions.

> If so, are there additions to the HBase 0.2 API to support these commands
> or are they built up out of multiple "HTable.get()" API calls?  The HBase
> 0.1.x API does not seem to support an "HTable.get()" which will return
> multlple columns, or an  "HTable.getScanner()" which returns multiple
> versions.

The get method in HTable won't return multiple columns since it is getRow
job. The "get" command uses HTable.get when one column is specified or
HTable.getRow when multiple columns are specified. But, getRow and
getScanner do not return a specified number of versions so I guess there is
a bit of API harmonization to do. Thinking of it, the first and third
commands will probably work because it will use getRow BUT the max number of
versions will not be respected (am I wrong st^ack?) and this got to be

> Also, is the interpretation of the example:
> 4) hbase> get 't1', 'r1', {TIMESTAMP => tsl, VERSIONS => 4}
> as returning the last four versions before and including the specified
> timestamp?  (Presumably they would all have a different timestamp, even if
> it is not included in the returned values).

Yes, but I think there is a bit of clarification to do in the documentation
regarding mixing ts and versions, I had to check the code to be sure!

> Thanks,
> Rick
> On Jul 17, 2008, at 10:58 AM, Jean-Daniel Cryans wrote:
>  Rick,
>> Yes it is deprecated. See the new HBase shell:
>> http://wiki.apache.org/hadoop/Hbase/Shell
>> J-D
>> On Thu, Jul 17, 2008 at 1:55 PM, Rick Hangartner <hangartner@strands.com>
>> wrote:
>>  Hi,
>>> I apologize if this has been asked and answered, but the hadoop project
>>> website seems to not be responding right now, so I can't search the mail
>>> archive.  A quick search of the emails I've received from the HBase
>>> user's
>>> group since joining doesn't turn up anything relevant either.
>>> I've read somewhere HQL has been deprecated.   The wiki link "HQL plan
>>> for
>>> HBase 0.2" goes to a boilerplate page indicating this page has not been
>>> created.
>>> Is HQL and/or the HQL command-line shell going the way of the carrier
>>> pigeon in HBase 0.2 and beyond?
>>> We like to use the HQL command-line shell as a sanity check tool on
>>> networking when we set up a remote client to an HBase server.  We don't
>>> need
>>> any enhancements, just would hate to lose this convenient tool.
>>> Thanks,
>>> Rick

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message