<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Is there a way to connect to  HBase using C#? in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149152#M111678</link>
    <description>&lt;P&gt;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+&lt;/P&gt;</description>
    <pubDate>Wed, 30 Mar 2016 11:46:37 GMT</pubDate>
    <dc:creator>nshawa</dc:creator>
    <dc:date>2016-03-30T11:46:37Z</dc:date>
    <item>
      <title>Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149148#M111674</link>
      <description />
      <pubDate>Wed, 30 Mar 2016 10:40:00 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149148#M111674</guid>
      <dc:creator>nshawa</dc:creator>
      <dc:date>2016-03-30T10:40:00Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149149#M111675</link>
      <description>&lt;P&gt;I believe a native .net client is on the roadmap, right now you can use the REST API or two suggestions in the comments&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2016 10:51:35 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149149#M111675</guid>
      <dc:creator>aervits</dc:creator>
      <dc:date>2016-03-30T10:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149150#M111676</link>
      <description>&lt;P&gt;&lt;A href="https://github.com/hdinsight/hbase-sdk-for-net" target="_blank"&gt;https://github.com/hdinsight/hbase-sdk-for-net&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2016 10:53:27 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149150#M111676</guid>
      <dc:creator>aervits</dc:creator>
      <dc:date>2016-03-30T10:53:27Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149151#M111677</link>
      <description>&lt;P&gt;Here's another one &lt;A href="https://hbasenet.codeplex.com/" target="_blank"&gt;https://hbasenet.codeplex.com/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2016 10:54:08 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149151#M111677</guid>
      <dc:creator>aervits</dc:creator>
      <dc:date>2016-03-30T10:54:08Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149152#M111678</link>
      <description>&lt;P&gt;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+&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2016 11:46:37 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149152#M111678</guid>
      <dc:creator>nshawa</dc:creator>
      <dc:date>2016-03-30T11:46:37Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149153#M111679</link>
      <description>&lt;P&gt;If you use REST it doesn't matter whether it's 0.98 or 1.x. Here is non HdInsight version &lt;A href="http://hbase.apache.org/book.html#_rest" target="_blank"&gt;http://hbase.apache.org/book.html#_rest&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2016 19:04:23 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149153#M111679</guid>
      <dc:creator>aervits</dc:creator>
      <dc:date>2016-03-30T19:04:23Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149154#M111680</link>
      <description>&lt;P&gt;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#.&lt;/P&gt;&lt;OL&gt;
&lt;LI&gt;C# HBase Thrift client - Thrift allows for defining service endpoints and data models in a common format and using code generators to create language specific bindings. HBase provides a Thirft server and definitions. There are many examples online for creating a C# HBase Thrift Client. &lt;A href="http://www.lucidmotions.net/2014/05/hbase-thrift-csharp-first-connections.html"&gt;hbase-thrift-csharp&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Marlin - Marlin is a C# client for interacting with Stargate (HBase REST API) that ultimately became hbase-sdk-for-net. I have not personally tested this against HBase 1.x+, but considering it uses Stargate, I expect it should work. If you are planning to use Stargate and implement your own client, which I would recommend over Thrift, make sure to use protobufs to avoid the JSON serialization overhead. Using a HTTP based approach also makes it much easier to load balance requests over multiple gateways.
&lt;/LI&gt;&lt;LI&gt;Phoenix Query Server - Phoenix is a SQL skin on HBase. Phoenix Query Server is a REST API for submitting SQL queries to Phoenix. Here is some example code, however, I have not yet tested it. &lt;A href="https://github.com/Azure/hdinsight-phoenix-sharp"&gt;hdinsight-phoenix-sharp&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Simba HBase ODBC Driver - Using ODBC to connect to HBase. I've heard positive feedback on this approach, especially from tools like Tableau. This is not open source and requires purchasing a license.&lt;/LI&gt;&lt;LI&gt;Future: Phoenix ODBC Driver - I've been told a Phoenix ODBC driver is in the works. Unfortunately, no ETA.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;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. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I'm sure there are others, but hopefully this helps.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2016 19:05:20 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149154#M111680</guid>
      <dc:creator>skumpf</dc:creator>
      <dc:date>2016-03-30T19:05:20Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149155#M111681</link>
      <description>&lt;P&gt;hbasenet worked... thanks&lt;/P&gt;</description>
      <pubDate>Thu, 31 Mar 2016 12:04:01 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149155#M111681</guid>
      <dc:creator>nshawa</dc:creator>
      <dc:date>2016-03-31T12:04:01Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149156#M111682</link>
      <description>&lt;P&gt;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!&lt;/P&gt;</description>
      <pubDate>Thu, 31 Mar 2016 12:06:03 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149156#M111682</guid>
      <dc:creator>nshawa</dc:creator>
      <dc:date>2016-03-31T12:06:03Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149157#M111683</link>
      <description>&lt;P&gt;Regarding &lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/hdinsight/hbase-sdk-for-net" target="_blank"&gt;https://github.com/hdinsight/hbase-sdk-for-net&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/Azure/hdinsight-phoenix-sharp" target="_blank"&gt;https://github.com/Azure/hdinsight-phoenix-sharp&lt;/A&gt;&lt;/P&gt;&lt;P&gt;There are two modes if you read the source code, &lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;PRE&gt;var scanOptions = RequestOptions.GetDefaultOptions();
scanOptions.Port = 8090;
scanOptions.AlternativeEndpoint = "/";
var restIPs = new List&amp;lt;string&amp;gt;();
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);&lt;/PRE&gt;&lt;P&gt;hbase-sdk-for-net applies to all HBase versions since it uses REST APIs.&lt;/P&gt;&lt;P&gt;hdinsight-phoenix-sharp only targets HDI 3.4 or later or other distributions as long as its Phoenix component supports Protobuf serialization.&lt;/P&gt;</description>
      <pubDate>Sat, 02 Apr 2016 05:20:48 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149157#M111683</guid>
      <dc:creator>duoxu</dc:creator>
      <dc:date>2016-04-02T05:20:48Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a way to connect to  HBase using C#?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149158#M111684</link>
      <description>&lt;P&gt;Related to &lt;A rel="user" href="https://community.cloudera.com/users/3853/duoxu.html" nodeid="3853"&gt;@Duo Xu&lt;/A&gt;'s response, Microsoft released a preview of their &lt;A href="https://www.nuget.org/packages/Microsoft.Phoenix.Client/"&gt;.NET ProtoBuf client for Phoenix&lt;/A&gt; (hdinsight-phoenix-sharp) on Nuget.org in June 2016. I've found it worked well against my HDP 2.4 (HBASE 1.1.2 / Phoenix 4.4) cluster, but the API was unfamiliar to me. As I learned it, I implemented an IDbConnection, IDbCommand et al wrapper API around it, named Garuda.Data. It makes access to Phoenix from .NET code feel almost like SqlConnection, SqlCommand, etc - Check it out on Nuget: &lt;A href="https://www.nuget.org/packages/Garuda.Data/" target="_blank"&gt;https://www.nuget.org/packages/Garuda.Data/&lt;/A&gt; &lt;/P&gt;&lt;P&gt;Blog post on the topic: &lt;A target="_blank" href="http://dwdii.github.io/2016/08/13/Garuda.Data-Apache-Phoenix-For-.NET-Developers.html"&gt;http://dwdii.github.io/2016/08/13/Garuda.Data-Apache-Phoenix-For-.NET-Developers.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A target="_blank" href="http://dwdii.github.io/2016/08/13/Garuda.Data-Apache-Phoenix-For-.NET-Developers.html"&gt;&lt;/A&gt;Garuda.Data Github Repo: &lt;A href="https://github.com/dwdii/GarudaUtil"&gt;https://github.com/dwdii/GarudaUtil&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 06:41:38 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Is-there-a-way-to-connect-to-HBase-using-C/m-p/149158#M111684</guid>
      <dc:creator>daniel11</dc:creator>
      <dc:date>2016-08-25T06:41:38Z</dc:date>
    </item>
  </channel>
</rss>

