gpt4 book ai didi

machine-learning - Apache Flink 与 Apache Spark 作为大规模机器学习平台?

转载 作者:行者123 更新时间:2023-11-30 08:21:12 25 4
gpt4 key购买 nike

有人可以将 Flink 和 Spark 作为机器学习平台进行比较吗?对于迭代算法来说,哪一个可能更好? Flink 与 Spark 的一般讨论链接:What is the difference between Apache Spark and Apache Flink?

最佳答案

免责声明:我是 Apache Flink 的 PMC 成员。我的回答重点是Flink和Spark执行迭代的差异。

Apache Spark 通过循环展开来执行迭代。这意味着对于每次迭代,都会调度并执行一组新的任务/运算符。 Spark 非常高效地做到了这一点,因为它非常擅长低延迟任务调度(顺便说一句,Spark 流使用相同的机制)并跨迭代将数据缓存在内存中。因此,每次迭代都对内存中保存的前一次迭代的结果进行操作。在 Spark 中,迭代被实现为常规的 for 循环(请参阅 Logistic Regression example )。

Flink 将迭代作为循环数据流来执行程序。这意味着数据流程序(及其所有运算符)仅被调度一次,并且数据从迭代的尾部反馈到其头部。基本上,数据在迭代中围绕运算符循环流动。由于运算符仅被调度一次,因此它们可以在所有迭代中保持状态。 Flink 的 API 提供了两个专用的iteration operators指定迭代:1) 批量迭代,其概念上类似于循环展开,以及 2) delta iterations 。增量迭代可以显着加快某些算法的速度,因为每次迭代的工作量都会随着迭代次数的增加而减少。例如,增量迭代 PageRank 实现的第 10 次迭代比第一次迭代完成得快得多。

关于machine-learning - Apache Flink 与 Apache Spark 作为大规模机器学习平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com