我需要一台功能强大的机器,它可以每天一小时运行我的 .NET 代码。我不能使用 EC2,因为它会在关机时丢失我的所有数据。我需要一台可以在特定时间启动的虚拟 PC,这台 PC 应该会自动启动我的 .exe/service/whatever。我可以要求 Amazon MapReduce 启动一个 Windows 实例并执行我的代码吗?
2 回答
Amazon MapReduce是一种用于处理大量数据的 Web 服务,而不是运行您的 .net 代码的地方。
EC2 是虚拟服务器托管 - 您可以将数据保存到外部 Web 服务、您自己的机器上还是 S3 上?该库可从 .net 获得:http: //developer.amazonwebservices.com/connect/entry.jspa ?externalID=129
Amazon Elastic MapReduce 被指定与 EC2 和 S3 集成,为密集的数据处理应用程序提供基础设施。
MapReduce 以作业流的概念为中心,其中每个作业可以包含一个或多个步骤。每个步骤都从 S3 获取一些数据,将其分发到配置的 EC2 实例,然后将结果写回 S3。
所以基本上你应该将你的应用程序和数据上传到 S3,然后配置你想要的 EC2 实例的数量和类型,指定你的应用程序的位置和 S3 上的数据,然后开始工作。您可以通过多种方式启动该作业:登录 AWS 管理控制台,或使用现有 API 或命令行工具。
Amazon还提供了一个用于 MapReduce 的C# 库,可以提供帮助。
但是,您应该注意,您的应用程序需要采用 MapReduce 编程模型才能分布式运行,因此您实际上不能只运行任何 .Net 代码。
关于 MapReduce 实现,这里还有一篇关于 .Net 框架的好答案。