-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HBase Support #3992
Comments
There currently isn't an HBase connector. At Teradata, @akshatnair did a prototype of connecting to HBase via a JDBC connection to Apache Phoenix, but it only had a single connection to HBase so it was pretty slow. The tricky part of making a performant HBase connector will be figuring out how to handle parallel connections to HBase. Let us know how it goes, and we're happy to help if you need some pointers! |
awesome thanks! |
Christina alluded to this link in the presto-users google group today so figured i'd have look. Yeah, I think there's interest but hard to say who's got the time to actually do it. Damien Carol as well commented on the mail thread perhaps he has a vested interest too. |
Apache Phoenix could execute SQL by it's JDBC implement . Maybe can use JDBC connect to access HBase . But sometimes Phoenix is very slow and join operation will make some trouble . |
Is there any progess or direction on this issue or an HBase connector in general? |
It's not on the roadmap wiki and I haven't seen any mentions of such work on the mailing list so I don't think anyone is working on such a connector at the moment. |
Hi, regards, |
Vineel -- what branch are you using? @akshatnair put together a prototype about a year ago, but Presto has changed so much since then that it would require a lot of effort to rebase it on the current Presto master. |
Hi Christina, Thanks for the response. I somehow managed to connect the same. There were so many dependency problems I had to resolve. And in my environment HBase is based on 1.1.2 and presto 0.133. Presto is using guava-18.0. HBase is trying to access a class from guava, Stopwatch() which became protected from guava-13.0. Hence it was failing. HBase 1.3.0 has deprecated that code, but HBase 1.3.0 jars are not available in maven. Hence I rebuilt guava-18.0 by making the protected constructor to public and used the same. Now I am able to successfully connect to Hbase from presto using phoenix plugin. May be I will upload my pom.xml with all dependencies here, but again guava-18.0 has to be somewhat customized to make it work. Presto-0.133 Thanks and regards, |
Hi Vineel, I'm approaching the same problem as yours: do you have some pronto code to use? |
The Presto SPI doesn't require Guava. Plugins have a separate class loader. It was designed this way for exactly this sort of problem, where connectors need incompatible versions of libraries than the Presto core.
|
HI. Sorry for the delayed response. I had downloaded the source code from github and built using maven. All you need is configure pom.xml properly with all dependencies. Below is the pom.xml file I have used. You can download the source code for presto-phoenix plugin from this link. https://github.com/PayWithMyBank/presto-phoenix. Just replace the pom.xml with the one below and build using maven (below command) mvn clean install -Dcheckstyle.skip=true -DskipTests=true -Dair.check.skip-enforcer=ture -Dair.check.skip-duplicate-finder=true Once you are done with the build, you have the required jar files inside folder target. You can copy this whole folder into presto/plugins and you should be able to connect from presto to Hbase. Before trying that, you have to replace guava-18.0 in the plugin with customized one. That is, you have to build guava-18.0 similar like above, by downloading source from github and changing the constructor of the class StopWatch as public. This is the hack we tried to make it work for us. May be some latest versions of Hbase doesn't require this class at all. If you want, I have customized guava-18.0.jar already built. I couldn't upload the pom in xml format. Hence copied it into text file. |
I plan to track my connector initiative here #6010 |
Anyone tried to use HBaseStorageHandler? |
We are exploring ways of trying to use Presto to query a HBase table. Can I get an update on where we are w.r.t HBase connector for Presto and any references for the same ? |
This issue has been automatically marked as stale because it has not had any activity in the last 2 years. If you feel that this issue is important, just comment and the stale tag will be removed; otherwise it will be closed in 7 days. This is an attempt to ensure that our open issues remain valuable and relevant so that we can keep track of what needs to be done and prioritize the right things. |
I've noticed a few tickets around HBase support but don't see anything that indicates that it is currently supported. If one doesn't exist, I would be happy to start working on one but wanted to see if I was missing something.
The text was updated successfully, but these errors were encountered: