互联网数据处理、科学计算、商业智能等领域都存在着海量数据处理需求,存在大量数据密集型应用[1]。Google提出了MapReduce[2]编程模型,开发人员只需要编写单个节点的处理任务,由计算平台来提供任务的并行处理及维护,大大降低了并行编程的难度。这种计算平台通常建立在分布式文件系统之上,可以实现很好的可扩展性和容错性,逐渐成为云计算平台的重要组成部分。但是采用MapReduce编程模型开发一个数据密集型应用,用户不仅需要对各个数据操作按照MapReduce进行实现,还要实现多个操作之间中间数据的传输,实现复杂的数据处理流程,另外采用MapReduce编程模型编写的代码十分复杂,流程类的处理