MapReduce 是由 Google 提出并实现的编程模型,可利用大量机器所组成的集群处理或生成海量数据集。此外,由 Yahoo! 公司资助的 Hadoop 项目则是 MapReduce 的开源实现,在 Facebook 等大型应用中得到了广泛使用。而现在,MySpace 也将其 MapReduce 框架 Qizmt 开源了,可用于在大规模 Windows 集群上开发或运行分布式计算程序。
MySpace Qizmt 可用于各种分布式计算场景,例如:
- 数据挖掘
- 数据分析
- 媒体处理
- 内容索引
Qizmt 的主要功能有:
- 使用 C#快速开发 MapReduce 任务。
- 简单的“自己动手(Do-It-Yourself)”安装程序
- 内置集成开发环境 / 调试器
- 自动将堆分配标为红色
- 为 MapReduce 任务的快速开发提供自动完成功能
- 在目标集群中对 MapReduce 任务进行单步调试
- 可在集群中的任意机器上:
- 编辑任务
- 调试任务
- 执行任务
- 管理任务
- 为 MapReduce 任务提供“差值交换(Delta-only exchange)”选项
- 可配置的数据冗余或机器级别的故障转移
- 可轻易为集群增加机器以提高处理能力
- 集群程序集缓存(Cluster Assembly Cache),用于将.NET dll 释放为 MapReduce 任务
- 三种任务类型:
- MapReduce - 用于对大规模数据进行基于集合的处理
- 远程 - 用于不适合 MapReduce 模型的问题
- 本地:- 用于组织一系列 MapReduce 和远程任务
- 执行 MapReduce 过程中的三种数据交换方式
- 排序 - 在集群中对键 / 值对进行排序
- 分组 - 不将键 / 值对进行排序,而将它们发送到同一个归并器(reducer)中
- 散列排序 - 排序随机数据的超快方式
MySpace Qizmt 项目现已发布于 Google Code ,支持装有.NET 3.5 SP1 的 Windows 2003 Server,Windows 2008 Server 及 Windows Vista 操作系统。
评论