【发布时间】:2016-03-26 00:23:41
【问题描述】:
所以,我一直怀着浓厚的兴趣关注Hadoop,老实说,我很着迷,事情并没有变得更酷。
我唯一的小问题是我是一名 C# 开发人员,而且它使用的是 Java。
并不是我对 Java 的了解不如我在寻找 Hadoop.net 或 NHadoop 或采用 Google MapReduce 方法的 .NET 项目。有人知道吗?
【问题讨论】:
所以,我一直怀着浓厚的兴趣关注Hadoop,老实说,我很着迷,事情并没有变得更酷。
我唯一的小问题是我是一名 C# 开发人员,而且它使用的是 Java。
并不是我对 Java 的了解不如我在寻找 Hadoop.net 或 NHadoop 或采用 Google MapReduce 方法的 .NET 项目。有人知道吗?
【问题讨论】:
你看过使用Hadoop's streaming?
我一直在 python 中使用它:-)。
我开始发现异构方法通常是最好的,而且看起来其他人也在这样做。
如果您查看诸如协议缓冲区或 facebook 的 thrift 之类的项目,您会发现有时最好使用用另一种语言编写的应用程序并以您喜欢的语言构建粘合剂。
【讨论】:
最近,MySpace 发布了他们的 .NET MapReduce 框架Qizmt,作为开源,所以这也是该领域的潜在竞争者。
【讨论】:
【讨论】:
我会说 DryadLinq 是我们 .NET 人员所拥有的最接近 Hadoop 的东西。但这取决于你想用 hadoop 做什么。如果您正在寻找优化的自维护分布式文件 (DFS) 系统,那么 DryadLINQ 不是您想要的。它类似于 DFS,但您必须手动构建分区并分发每个分区。
话虽如此,如果您正在寻找的 Hadoop 的分布式执行方面比 DryadLINQ 真的很棒(不,我不隶属于 MS)。只要你有一个Microsoft HPC 集群设置,那么使用 DryadLINQ 真的很容易。
您编写的代码实际上只是直接的 LINQ 代码,除了在 IEnumerable<T> 上执行 LINQ 之外,您必须在 PartitionedTable<T> 上执行它(自构建分布式数据结构)。
DryadLINQ 真正酷的地方在于开发算法时的快速周转时间(尝试、测试、调整、重复)。您只需编写 LINQ 代码来进行计算,DryadLINQ 将负责整个分布式执行部分。这是我遇到的最自然的类比,它使得为分布式处理编写代码就像为单进程处理编写代码一样。
【讨论】:
您可以研究 RavenDb 之类的东西,它为相当大的数据量的 MapReduce 提供了非常好的支持。因为它是在 .Net 中构建的,所以可以使用适当的 LINQ 客户端 API。
为了让你开始,你可以阅读我的blog entery。
【讨论】:
使用 Apache Hadoop 和流式传输可能会更好,因为 Apache Hadoop 正在由 Yahoo 和 Facebook 等行业巨头积极开发和维护。所以它可以做你期望它做的事情。
如果您需要 .NET 中的解决方案,请查看 Myspace 实现 @MySpace Qizmt - MySpace’s Open Source Mapreduce Framework
【讨论】:
Microsoft 正在推出 HDInsight,标榜为“100% 与 Apache 兼容的 Hadoop 发行版”。
它既可以在 Windows Server 上使用,也可以作为 Windows Azure 服务使用。
【讨论】:
微软研究院有 Daytona 项目 http://research.microsoft.com/en-us/projects/daytona/
您可以下载它。 C# 中有一个 WordCount 示例。
【讨论】:
您现在可以直接从 .NET 使用 Hadoop 微软已经发布了一个 SDK 来实现这一点。
https://hadoopsdk.codeplex.com/
当然,这意味着使用基于 java 的 Hadoop 网络。但是,如果服务器在 java 中运行,这有关系吗?我相信有人可能会尝试移植它,但我认为这不是一个好主意,因为公司已经在支持 java 版本,而且我认为 .NET 移植不会得到同样的关注。
【讨论】:
【讨论】:
在内部,微软一直在使用 Cosmos。这已通过 Azure 在 Microsoft 之外提供。它被命名为Azure Data Lake Analytics 和Azure Data Lake Store。 Azure Data Lake 分析是一种 Yarn 即服务和 Azure Data Lake Store WebHDFS 即服务。 Azure Data Lake Analytics 的第一个版本仅托管 U-SQL,这是一种基于 Transact-SQL + C# 的语言。
【讨论】:
有一个非常可爱的 .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 结合使用,为查询非结构化数据提供基于集群的强大解决方案
【讨论】: