100

所以,我一直怀着浓厚的兴趣关注Hadoop,老实说,我很着迷,事情并没有变得更酷。

我唯一的小问题是我是一名 C# 开发人员,它使用 Java。

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

4

15 回答 15

57

你看过使用Hadoop 的流式传输吗?

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

我开始看到异构方法通常是最好的,看起来其他人也在做同样的事情。

如果您查看诸如协议缓冲区或 facebook 的节俭之类的项目,您会发现有时最好使用用另一种语言编写的应用程序并以您喜欢的语言构建粘合剂。

于 2008-12-04T01:53:33.597 回答
14

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

于 2009-10-01T17:09:44.720 回答
10

我在这里的问题中回答了你的问题

在源代码中说:

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

将于2012年上半年上市。

Hadoop 是排名第一的大数据平台,将得到开源和专有源(Java、.Net、Python 等)的支持,甚至 Oracle 也在采用它

如果您正在开发某些东西,那么如果您在.Net 平台上,您应该等待。

更多关于什么是可能的信息将在这里提供

于 2011-11-24T12:57:32.307 回答
5

我会说 DryadLinq 是我们 .NET 人员所拥有的最接近 Hadoop 的东西。但这取决于你想用 hadoop 做什么。如果您正在寻找优化的自维护分布式文件 (DFS) 系统,那么DryadLINQ不是您想要的。它类似于 DFS,但您必须手动构建分区并分发每个分区。

话虽如此,如果您正在寻找的 Hadoop 的分布式执行方面比 DryadLINQ 真的很棒(不,我不隶属于 MS)。只要您有Microsoft HPC集群设置,就可以轻松使用 DryadLINQ。

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

DryadLINQ 真正酷的地方在于开发算法时的快速周转时间(尝试、测试、调整、重复)。您只需编写 LINQ 代码来进行计算,DryadLINQ 将负责整个分布式执行部分。这是我遇到的最自然的类比,它使得为分布式处理编写代码就像为单进程处理编写代码一样。

于 2010-01-27T15:59:51.743 回答
4

您可以查看 RavenDb 之类的东西,它为相当大的数据量提供了对 MapReduce 的非常好的支持。因为它是在 .Net 中构建的,所以可以使用适当的 LINQ 客户端 API。

http://ravendb.net/

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

于 2012-03-21T11:45:11.397 回答
2

使用 Apache Hadoop 和流式传输可能会更好,因为 Apache Hadoop 正在由 Yahoo 和 Facebook 等行业巨头积极开发和维护。所以它可以做你期望它做的事情。

如果您需要 .NET 中的解决方案,请查看 Myspace implementation @ MySpace Qizmt - MySpace 的开源 Mapreduce 框架

于 2010-07-16T12:01:17.623 回答
2

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

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

于 2013-07-16T20:06:21.047 回答
1

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

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

于 2011-12-29T01:49:36.520 回答
1

您现在可以直接从 .NET 使用 Hadoop,Microsoft 已经发布了一个 SDK 来执行此操作。

https://hadoopsdk.codeplex.com/

当然,这意味着使用基于 java 的 Hadoop 网络。但是,如果服务器在 java 中运行,这有关系吗?我相信有人可能会尝试移植它,但我认为这不是一个好主意,因为公司已经在支持 java 版本,而且我认为 .NET 移植不会得到同样的关注。

于 2013-04-19T07:12:35.520 回答
1

看看:

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

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

于 2014-02-27T08:08:40.770 回答
1

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

于 2016-03-25T16:23:41.880 回答
0

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

于 2009-06-17T22:43:48.883 回答
0

Dryad/linq 正在产品化,即将发布:http: //blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx 结合使用使用 Microsoft HPC 提供强大的、基于集群的非结构化数据查询解决方案

于 2011-10-12T09:50:17.547 回答
0

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

于 2014-04-25T18:28:47.323 回答