[C#]Qizmt:MySpace的开源MapReduce框架

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

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏