[ 
https://issues.apache.org/jira/browse/HBASE-487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12599431#action_12599431
 ] 

stack commented on HBASE-487:
-----------------------------

> I didn't notice the license on DSLKit. 

np Tim.


Bryan, how you think colfam_spec should be done?  As a dictionary so '{name: 
"info", max_versions: 3...}'?  Anything not explicitly listed gets the default. 
 Same for table opts?

Alter needs to take add, delete, edit qualifiers.  What happens if you just 
want to edit a colum family only or table opts?  How's the parser figure your 
intent?

Drop truncate I'd say.  Maybe instead add describe table.  Let describe table 
return a result.  Make it so create table can take the result of a describe 
table.  How about also adding 'describe table columnfamily' to get a column 
family listing?

Regards 'get', can users specify regex for column name (not critical).  Its 
missing optional timestamp

In the put, is '=>' the separator between value and cell address?  Should the 
timestampt be after column since it is optional.

Whats output look like?  Hows it going to work?  How is it specified for a 
session?

Otherwise, looks good.  Intent is to use verbs from current hbase API rather 
than sql-ese?



> Replace hql w/ a hbase-friendly jirb or jython shell
> ----------------------------------------------------
>
>                 Key: HBASE-487
>                 URL: https://issues.apache.org/jira/browse/HBASE-487
>             Project: Hadoop HBase
>          Issue Type: Wish
>            Reporter: stack
>            Assignee: stack
>            Priority: Minor
>             Fix For: 0.2.0
>
>         Attachments: groovy-2.patch, groovy.patch, jruby.patch
>
>
> The hbase shell is a useful admin and debugging tool but it has a couple of 
> downsides.  To extend, a fragile parser definition needs tinkering-with and 
> new java classes must be added.  The current test suite for hql is lacking 
> coverage and the current code could do with a rewrite having evolved 
> piecemeal.  Another downside is that the presence of an HQL interpreter gives 
> the mis-impression that hbase is like a SQL database.
> This 'wish' issue suggests that we jettison HQL and instead offer users a 
> jirb or jython command line.  We'd ship with some scripts and jruby/jython 
> classes that we'd source on startup to do things like import base client 
> classes -- so folks wouldn't have to remember all the packages stuff sat in 
> -- and added a pretty-print for scanners and getters outputting text, xhtml 
> or binary.  They would also make it easy to do HQL-things in jruby/python 
> script.
> Advantages: Already-written parser with no need of extension probing deeper 
> into hbase: i.e. better for debugging than HQL could ever be.  Easy extension 
> adding scripts/modules rather than java code.  Less likely hbase could be 
> confused for a SQL db.
> Downsides: Probably more verbose.  Requires ruby or python knowledge 
> ("Everyone knows some sql").  Big? (jruby lib is 24M).
> I was going to write security as downside but HQL suffers this at the moment 
> too -- though it has been possible to sort the updates from the selects in 
> the UI to prevent modification of the db from the UI, something that would be 
> hard to do in a jruby/jython parser.
> What do others think?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to