Agreed on these points, Sean. Having used both, I think both approaches
have their value and their drawbacks.
The ruby shell is _wonderful_ from having a full programming language to
interact with. Accumulo's shell would force you to use your standard
unix-toolbelt if you want to do any extra parsing/logic.
OTOH, general introspection and interaction with the system feels much
more natural to me w/ Accumulo's shell. I know that's not a good way to
quantify my feelings. I think it's mostly due to not having to write
Ruby when I'm not actually scripting things. Another point is that
Accumulo uses JLine under the hood which always comes with its own
burden (things like C^c nuked the entire shell for the longest time
because JLine didn't support it -- we sometimes have to fix JLine to get
the functionality we want).
I also caught wind of someone actually using JavaScript via JSR-223 w/
the Accumulo shell, but it's not widely advertised at this point.
Finding a the right mix between ease of scripting and simplicity of
administrative interactions is key if we want to move beyond what the
HBase shell is now. My $0.02.
(and, to not completely derail the original conversation, moving to Ruby
2.2 + JRuby 9000 would be what I think the right move to make is)
Sean Busbey wrote:
Pros:
* It's easier to test and maintain
* it's easier to script with
* its interactive mode "feels" mode focused on the task of interacting with
a cluster to me (maybe this is just acting like a psql or mysql shell)
Cons
* adding custom commands requires knowing java