Uh oh!
There was an error while loading. Please reload this page.
Hbase Interpreter - #55
Conversation
Leemoonsoo
commented
May 1, 2015
Hi @vrajat. Thanks for contribution. Could you make hbase related dependency configurable through maven property? |
vrajat
commented
May 2, 2015
Sure. Will figure out how to make the dependency configurable from other modules. Will take a look at tests too. |
vrajat
commented
May 2, 2015
I'll need your advice on how to proceed further. I tested hbase-1.0 profile. Looks like hbase project started to distribute separate jars after 0.94.X version. So the interpreter does not compile with the default versions. |
vrajat
commented
May 12, 2015
Hello Lee, |
Leemoonsoo
commented
May 20, 2015
Understood the problem. Currently hbase.version is written in the pom.xml and CI uses it. But hbase interpreter should built with 1.0 version. Right?? I think one possible solution is hbase interpreter uses it's own property name for configuring hbase dependency and set default value of the property 1.0 version. |
vrajat
commented
May 20, 2015
OK. I'll add a new property.
|
vrajat
commented
May 22, 2015
Fascinating. I am unable to reproduce the build error on my box. The error is: |
vrajat
commented
May 22, 2015
Oh wow! Tests passed. Given the difficulty I had in getting the PR to compile, one would think I wrote code and created a PR. Rest assured that I have tested it out with a live HBase cluster :) |
Leemoonsoo
commented
Jun 5, 2015
@vrajat Looks great |
vrajat
commented
Aug 6, 2015
@Leemoonsoo Any blockers for merging this PR ? Has been open for quite some time. |
There was a problem hiding this comment.
Please fix the indentations for xml. Zeppelin uses two spaces.
jongyoul
commented
Aug 6, 2015
@vrajat I just have two questions. First, why do you use a ruby script? Although I'm not familiar with hbase, I've known that hbase-client library includes the way how to connect hbase-server directly. Please describe why you use a ruby not using hbase-client directly. And second, is there any way to run this interpreter without using local hbase? Basically, Zeppelin wants to use service or servers without installing another packages when we use it. |
vrajat
commented
Aug 6, 2015
@jongyoul This is an interpreter for hbase shell. Hbase shell is written ruby. It provides a lot of utility function using the hbase client. Please check the links in my description. This interpreter works with hbase clusters. At Qubole, we connect to hbase clusters only. The expectation is to setup the hbase configuration on the same machine and hbase shell where zeppelin is running. Since we run zeppelin on HBase master, this is a no-op. This is the preferred way to install it. Run zeppelin on hbase master. We've had very good success with this configuration. Though running zeppelin on another machine also works. |
There was a problem hiding this comment.
The version should be updated to 0.6.0-... before merge.
jongyoul
commented
Aug 6, 2015
@vrajat Okay, Do you mean it can make user use all of hbase shell command on Zeppelin? That makes sense. And in my second question, Is there a way to download the files related by hbase-shell? I think most of users doesn't want to install full hbase with their mac for using hbase feature in Zeppelin. |
There was a problem hiding this comment.
Any reason why these member fields are not private?
As far as I can see they are not used in the tests.
There was a problem hiding this comment.
You may want to release the resources here with #terminate(): https://github.com/jruby/jruby/blob/2187665d26d227d8f0b0882c762c7b7485efe642/core/src/main/java/org/jruby/embed/ScriptingContainer.java#L1853
vrajat
commented
Aug 6, 2015
jongyoul
commented
Aug 6, 2015
@vrajat Yes, it's pretty easy to install through brew, but someone want us to help run hbase interpreter in Zeppelin. So I think we try to avoid install additional packages except Zeppelin. That's my opinion. |
vrajat
commented
Aug 6, 2015
I am reluctant to sign up for installing hbase shell as part of Zeppelin.
|
jongyoul
commented
Aug 6, 2015
I don't know the exact meaning of 'similar process' but in case of Hive, Cassandra, Flink and Spark, Its interpreter doesn't need extra packages for using it within Zeppelin. Users don't care anything except installing Zeppelin when they use theses interpreters. What do you think of it? If users can also use Hbase interpreter without installing Hbase, It gives a wonderful experience for Zeppelin users. Regardless of this issue, I think your contribution looks great and will enrich Zeppelin community. |
vrajat
commented
Aug 7, 2015
I agree that will make for a better user experience. Just that HBase is a beast :) Let me get this out. If there is enough demand, then I can work on it. |
There was a problem hiding this comment.
Apologies for letting this PR keep opened.
Profiles and Properties for specific interpreter is now moved to interpreter's pom.xml.
It'll be helpful rebase this branch and move Profiles/Properties into hbase/pom.xml.
vrajat
commented
Sep 3, 2015
I have addressed most review comments. Does travis run unit tests ? |
bzz
commented
Sep 3, 2015
Yes it does (and looks like CI is failing), but somehow I do not see Travis feedback for this PR any more. |
vrajat
commented
Sep 3, 2015
Hmm. Travis failed because it lost connection to maven central. INFO: Retrying request to {s}->https://repo.maven.apache.org:443 |
vrajat
commented
Sep 3, 2015
I'll start a new PR. |
vrajat
commented
Sep 3, 2015
Please review #278 |
Support for Hbase Shell. All the commands documented here https://wiki.apache.org/hadoop/Hbase/Shell is supported.
Requirements:
The interpreter takes 3 config parameters: