任何人都可以比较Flink和Spark作为机器学习的平台吗?迭代算法可能更好吗?链接到一般Flink vs Spark讨论:What is the difference between Apache Spark and Apache Flink?作为大型机器学习平台的Apache Flink vs Apache Spark?
23
A
回答
22
声明:我是Apache Flink的PMC成员。我的答案着重于Flink和Spark中执行迭代的差异。
Apache Spark通过循环展开执行迭代。这意味着对于每次迭代,一组新的任务/操作员被安排并执行。 Spark非常高效,因为它非常适合低延迟任务调度(同样的机制用于Spark串流btw),并在迭代中缓存内存中的数据。因此,每次迭代都会根据内存中保存的上一次迭代的结果进行操作。在Spark中,迭代实现为常规for-loops(请参阅Logistic Regression example)。
Flink以迭代方式执行程序作为循环数据流。这意味着数据流程序(及其所有操作符)只调度一次,数据从迭代尾部反馈回头。基本上,数据在迭代中围绕操作员循环流动。由于运营商只安排了一次,他们可以在所有迭代中保持状态。 Flink的API提供了两个专用iteration operators来指定迭代:1)批量迭代,其概念上类似于循环展开,以及2)delta iterations。 Delta迭代可以显着加快某些算法的速度,因为随着迭代次数的增加,每次迭代的工作量都会减少。例如,Delta迭代PageRank实现的第10次迭代比第一次迭代快得多。
相关问题
- 1. Apache Spark vs Apache Spark 2
- 2. Apache Spark:多机器学习的并行化算法
- 3. Apache Spark vs Apache Ignite
- 4. Kafka Consumer Vs Apache Flink
- 5. 使用Apache Spark/Apache Flink扩展
- 6. 如何连接Azure机器学习和Spark Streaming或Apache Storm
- 7. Apache Spark和机器学习 - 在生产中使用
- 8. 将任意Java机器学习与Apache Spark集成
- 9. 使用Apache Mahout机器学习库
- 10. 学习Apache Ofbiz?
- 11. 学习Apache POI
- 12. 大型机器学习
- 13. 学习Python/Apache/Linux
- 14. Apache Phoenix vs Hive-Spark
- 15. Apache Apex与Apache Flink
- 16. ALS机器学习算法在Apache Spark Mllib中的等级是什么
- 17. Apache spark mllib.linalg向量和spark.util向量之间的区别机器学习
- 18. 学习NetBeans平台:annotations vs layer.xml文件
- 19. Apache Flink - 保持最大值
- 20. Apache Flink的XmlInputFormat
- 21. 学习Netbeans平台
- 22. 机器学习形状和类型的机器学习
- 23. Apache Beam/Flink ExceptionInChainedStubException
- 24. zipWithIndex Apache Flink
- 25. Kafka Streaming + Spark Streaming +机器学习
- 26. Spark机器学习AST比较
- 27. 管理平台上的Apache不能与Apache找到机架
- 28. Apache Flink作业支持多流支持
- 29. Apache Flume与Apache Flink的区别
- 30. 如何分辨机器学习模型的学习型
Flink是一个相对年轻的项目,很难将这个新的有前景的框架与Spark这样的巨大项目进行比较。 – ipoteka
我现在不回答这个问题,因为我们将在两个ML框架的不远的将来有更深入的了解。现在我完全同意@ipoteka。 –
您应该查看Flink最近创建的机器学习库:http://ci.apache.org/projects/flink/flink-docs-master/libs/ml/。 正如你在这里看到的,我们已经计划做更多:http://goo.gl/h9Qmt3 –