最近,探索Microsoft HDInsight Hadoop for Windows.But不知道从哪里开始,并开始使用apache hadoop与c#/ asp.net mvc。
我知道http://hadoopsdk.codeplex.com/是最好的资源,但无法找到从头开始的文档?比如创建集群,数据库,然后将其连接到C#app。
答案 0 :(得分:5)
最简单的入门方法是使用HDInsight service on Azure(仍在预览中,但效果很好)。这样,您就可以登录您的天蓝色门户网站并启动一个群集,该群集将链接到您的天蓝色存储区。
如果您真的不想访问云,那么您可以通过web platform installer下载HDInsight开发人员预览包,这将创建单节点本地群集。或者,如果您对'just hadoop'感兴趣,那么您可以尝试使用Hortonworks或Cloudera提供的VM。
之后,如果您熟悉SQL,那么可能值得从Hive开始。 O'Reilly Definitive Guide to Hadoop非常好。
从.NET的角度来看,codeplex上的hadoopsdk是一个很好的起点。
就非常基本的连接示例而言,请尝试this blog作为示例,但请注意,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代码,以帮助您入门。
享受!
答案 1 :(得分:1)
答案 2 :(得分:1)
从HDInsight团队查看https://github.com/hdinsight/hbase-sdk-for-net
答案 3 :(得分:0)
微软于6月在Nuget.org上发布了他们.NET ProtoBuf client for Phoenix/Hbase的预览版。我发现它运行良好,但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)));
}
}
}
}
}