Created 03-30-2016 03:40 AM
Created 03-30-2016 03:51 AM
I believe a native .net client is on the roadmap, right now you can use the REST API or two suggestions in the comments
Created 03-30-2016 03:51 AM
I believe a native .net client is on the roadmap, right now you can use the REST API or two suggestions in the comments
Created 03-30-2016 03:53 AM
Created 03-30-2016 03:54 AM
Here's another one https://hbasenet.codeplex.com/
Created 03-31-2016 05:04 AM
hbasenet worked... thanks
Created 03-30-2016 04:46 AM
The HDinsight SDK seems only to work with HD Insight on specific Hbase releases... 0.98,wonder if anyone had luck working it out on HDP or with hbase version 1+
Created 03-30-2016 12:04 PM
If you use REST it doesn't matter whether it's 0.98 or 1.x. Here is non HdInsight version http://hbase.apache.org/book.html#_rest
Created 03-30-2016 12:05 PM
As has been mentioned in this thread, there is no native C# HBase client. however, there are several options for interacting with HBase from C#.
What we really need is an Entity or LINQ based framework, as that's how C# developers expect to interact with backend data sources. At one point, a member of the community began developing Linq2Hive, but the project appears to be no more. It may be possible to leverage Linq2Hive and the HbaseStorageHandler, but that seems like a really poor pattern. 🙂
I'm sure there are others, but hopefully this helps.
Created 03-31-2016 05:06 AM
Shane, thanks for the elaboration, I agree some further work should be done on this space... appreciate the elaboration again as this will be a great the explanation for whoever is trying to figure this out!
Created 04-01-2016 10:20 PM
Regarding
https://github.com/hdinsight/hbase-sdk-for-net
https://github.com/Azure/hdinsight-phoenix-sharp
There are two modes if you read the source code,
gateway mode is specifically targeting HDInsight cluster or other cluster requires basic auth, which the requests will go through HDInsight cluster gateway and requires basic auth anthentication to forward the request.
VNet mode is by default used in Azure Virtual Network when deploying HDInsight cluster into it with your client VMs. But it also applies to all no-HDInsight and on-prem HBase clusters, as it sends requests directly to REST server endpoints, you can try the below sample code.
var scanOptions = RequestOptions.GetDefaultOptions(); scanOptions.Port = 8090; scanOptions.AlternativeEndpoint = "/"; var restIPs = new List<string>(); restIPs.Add("10.0.0.15"); restIPs.Add("10.0.0.16"); var client = new HBaseClient(null, options, new LoadBalancerRoundRobin(restIPs)); var scanSettings = new Scanner { batch = 10 }; ScannerInformation scannerInfo = client.CreateScanner(testTableName, scanSettings, scanOptions); var options = RequestOptions.GetDefaultOptions(); options.Port = 8090; options.AlternativeEndpoint = "/"; options.AlternativeHost = scannerInfo.Location.Host; client.DeleteScanner(testTableName, scannerInfo, options);
hbase-sdk-for-net applies to all HBase versions since it uses REST APIs.
hdinsight-phoenix-sharp only targets HDI 3.4 or later or other distributions as long as its Phoenix component supports Protobuf serialization.