有没有一个.NET相当于Apache Hadoop?

所以,我一直在关注Hadoop ,说实话我很着迷,事情并没有变得更酷。

我唯一的小问题是我是一个C#开发人员,它是在Java中。

这并不是说我不了解Java,就像我正在寻找包含Google MapReduce方法的Hadoop.net或NHadoop或.NET项目一样。 有人知道吗?

你有没有看过使用Hadoop的stream媒体?

我一直在Python中使用它:-)。

我开始看到,异构方法往往是最好的,看起来其他人也是这样做的。

如果你看像协议缓冲区或Facebook的节俭项目,你会发现,有时候最好是使用另一种语言编写的应用程序,并用你的偏好语言来build立粘合。

最近,MySpace发布了他们的.NET MapReduce框架Qizmt ,作为开源,所以这也是这个领域潜在的竞争者。

我在这里回答你的问题

在这里来源说:

微软放弃了其替代品( Dryad ),以支持Hadoop。 明年,他们将发布MS SQL Server 2012与Hadoop集成。 就在我们说话时,Azure和Windows Sever支持正在开发中。

它将在2012年上半年上市。

Hadoop是BigData平台的第一大平台,即使Oracle正在采用它,开源和专有资源(Java,.Net,Python,…)也将得到支持。

如果你正在开发一些东西,你应该等待,如果你在.Net平台上。

有关可能的更多信息将在此处提供

我想说的是,DryadLinq是我们.NET民间最接近Hadoop的东西。 但这取决于你想要使用的hadoop。 如果您正在寻找优化的自我维护分布式文件(DFS)系统,那么DryadLINQ不是你正在寻找的。 它有一个DFS的类比,但你必须手动build立分区和分配每个分区。

这就是说,如果它的分布式执行方面,你正在寻找比DryadLINQ Hadoop的分布式执行方面真的很棒(不,我不隶属于MS)。 只要你有一个Microsoft HPC集群设置比DryadLINQ真的很容易。

您编写的代码实际上只是简单的LINQ代码,除了在IEnumerable<T>上执行LINQ,您必须在PartitionedTable<T> (自build分布式数据结构)上执行它。

DryadLINQ的真正优点是在开发algorithm时快速转换(尝试,testing,调整,重复)。 您只需编写LINQ代码来完成您的计算,而DryadLINQ将负责整个分布式执行部分。 这是我所遇到的最自然的模拟,它使得为分布式处理编写代码,就像为单个进程处理编写代码一样。

你可以看看RavenDb,它为相当大的数据提供了非常好的支持MapReduce。 因为它是在.Net中构build的,因此可以使用适当的LINQ客户端API。

http://ravendb.net/

为了让你开始,你可以阅读我的博客 entery。

使用Apache Hadoop和stream式传输可能会更好,因为Apache Hadoop正在被雅虎和Facebook这样的业内巨头所开发和维护。 所以它可以做你期望的事情。

如果你需要.NET中的解决scheme,请检查Myspace实现@ MySpace Qizmt – MySpace的开源Mapreduce框架

微软正在推出被视为“100%Apache兼容Hadoop发行版”的HDInsight 。

它既可以在Windows Server上使用,也可以作为Windows Azure服务使用。

微软研究院有Daytona项目http://research.microsoft.com/en-us/projects/daytona/

你可以下载它。 在C#中有一个WordCount示例。

现在可以直接从.NET使用Hadoop了。微软已经发布了一个SDK来完成这个工作。

https://hadoopsdk.codeplex.com/

当然这意味着使用基于Java的Hadoopnetworking。 但是,如果服务器在Java中运行,这是否重要? 我相信有人可能试图移植它,但我不认为这是一个好主意,因为企业已经支持Java版本,我不认为.NET端口会得到同样的关注。

看看:

http://www.windowsazure.com/en-us/services/hdinsight/

它是Azure Hadoop的一个实现,您可以使用.NET来访问它。

在内部,微软一直在使用宇宙。 这已经通过Azure在Microsoft之外提供。 它被命名为Azure Data Lake Analytics和Azure Data Lake Store 。 Azure Data Lake分析是一种纱线即服务,Azure Data Lake将WebHDFS存储为服务。 Azure Data Lake Analytics的第一个版本仅托pipe基于Transact-SQL + C#的语言U-SQL。

有一个非常可爱的.NET的MapReduce实现: http : //mapsharp.codeplex.com/

dryad / linq正在生产,并将很快发布: http : //blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx联合使用与Microsoft HPC一起构build强大的基于集群的解决scheme,用于查询非结构化数据

正如其他人所提到的, DryadLINQ是一个编程框架,它允许开发人员编写LINQ查询,并以与MapReduce类似的方式在集群上执行它们。 DryadLINQ项目最近已经在GitHub的Apache许可下发布 ,并且该版本包括对在YARN集群(包括Azure HDInsight集群)上运行的支持。