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操作系统。