如何使用C#连接HBase / Hadoop数据库

最近,探索Microsoft HDInsight Hadoop for Windows.But不知道从哪里开始并开始使用apache hadoop与c#/ asp.net mvc。

我知道http://hadoopsdk.codeplex.com/是最好的资源,但无法找到从头开始的文档? 比如创建集群,数据库,然后将其连接到C#app。

最简单的入门方法是在Azure上使用HDInsight服务 (仍在预览中,但效果很好)。 这样您就可以登录到您的azure色门户并启动一个群集,该群集将链接到您的azure色存储。

如果您真的不想访问云,那么您可以通过Web平台安装程序下载HDInsight开发人员预览包,这将创建单节点本地群集。 或者,如果您对’just hadoop’感兴趣,那么您可以尝试使用Hortonworks或Cloudera提供的VM。

在那之后,如果您熟悉SQL,那么可能值得从Hive开始。 O’Reilly Hadoop权威指南在这方面相当不错。

从.NET的角度来看,codeplex上的hadoopsdk是一个很好的起点。

至于非常基本的连接示例,请尝试使用此博客作为示例,但请注意,HDInsight的连接略有不同,因为它们全部使用了templeton接口,因此这将让您前进:

var db = new HiveConnection( webHCatUri: new Uri("http://localhost:50111"), userName: (string) "hadoop", password: (string) null); var result = db.ExecuteHiveQuery("select * from w3c"); 

如果您希望在HDInsight上完成MapReduce,那么您可能希望在codeplex上查看带有sdk的C#MapReduce示例。

请注意,默认的HDInsight安装还附带了一些很好的示例,其中包括一些可以使用的数据以及一些PowerShell脚本和.NET代码,以帮助您入门。

请享用!

您可能会发现HBase-sharp项目非常有用。 您可以访问他们的bitbucket 页面获取详细信息。 看起来很有希望。 它还包括一个例子。 你可以在这里找到它。

HTH

从HDInsight团队查看https://github.com/hdinsight/hbase-sdk-for-net

微软于6月在Nuget.org上发布了针对Phoenix / Hbase的.NET ProtoBuf客户端的预览版。 我发现它运行良好,但API对我来说并不熟悉。 据我所知,我实现了.NET Framework System.Data IDbConnection,IDbCommand等围绕它的包装API,名为Garuda.Data。 它使得从.NET代码访问Phoenix / Hbase感觉几乎像SQL Server的SqlConnection,SqlCommand等 – 请查看: https : //www.nuget.org/packages/Garuda.Data/

这是github项目回购: https : //github.com/dwdii/GarudaUtil

还有一些示例代码:

 using (IDbConnection phConn = new PhoenixConnection()) { phConn.ConnectionString = cmdLine.ConnectionString; phConn.Open(); using (IDbCommand cmd = phConn.CreateCommand()) { cmd.CommandText = "SELECT * FROM GARUDATEST"; using (IDataReader reader = cmd.ExecuteReader()) { while(reader.Read()) { for(int i = 0; i < reader.FieldCount; i++) { Console.WriteLine(string.Format("{0}: {1}", reader.GetName(i), reader.GetValue(i))); } } } } }