总体介绍

Spark和Flink都是用来处理大数据的分布式系统,上层可以运行各类机器学习等任务。对于将它们作为底层数据处理工具的机器学习开发用户来说,两者区别其实不大,无非是接口和编程逻辑上的一些区别,当然用户关心的是它们处理性能如何。性能的问题就跟底层的系统设计息息相关,在这个层面上两者还是有很大程度的差异。

在系统设计层面,本文力图比较两者在如下方面的差异:

  1. 架构
  2. 任务优化器
  3. 迭代处理
  4. shuffle过程
  5. 内存管理
  6. 容错机制
  7. 反压机制
  8. ……

在用户编程层面,本文将列举两者在以几个下方面的不同:

  1. 用户API
  2. 迭代算法的编程逻辑
  3. 任务触发的原语
  4. ……

results matching ""

    No results matching ""