Apache-Spark和Apache-Flink项目都声称功能几乎相似。

这些项目有什么区别。火花或弗林克有任何优势吗?

谢谢

有帮助吗?

解决方案

Flink是重命名的Apache 柏林几所大学的平流层项目. 。它没有像Spark Project相同的工业立足点和势头,但是它看起来不错,而且比Dryad更成熟。我会说,至少要进行个人或学术用途,值得调查,但是对于工业部署,我仍然更喜欢Spark,这是在战斗中进行的。有关更具技术性的讨论,请参阅 该Quora帖子由提交者在两个项目上.

其他提示

特征明智的比较 火花 vs 弗林克:

  1. 数据处理

    火花: :Apache Spark也是Hadoop生态系统的一部分。这也是一个内心的批处理处理系统,但也支持流处理。

    弗林克: :Apache Flink为流和批处理处理提供了一个运行时。

  2. 流动机

    火花: :Apache Spark流流过程在微批次中数据流。每批包含一系列在批处理期间到达的事件的集合。但是,对于我们需要处理大量实时数据并实时提供结果的用例,这还不足。

    弗林克: :Apache Flink是真正的流媒体引擎。它使用流进行工作负载:流,SQL,微批量和批处理。批处理是一组有限的流数据。

  3. 数据流

    火花: :尽管机器学习算法是一种环状数据流,但SPARK将其表示为(DAG)直接循环图。

    弗林克: Flink采取的方法与其他方法不同。它支持运行时间中受控的循环依赖图。这有助于以非常有效的方式表示机器学习算法。

  4. 计算模型

    火花: Spark采用了微批量。微批次本质上是一种“收集然后处理”的计算模型。

    弗林克: Flink采用了连续流,基于操作员的流媒体模型。连续流动运算符到达时处理数据,而无需延迟收集数据或处理数据。

  5. 表现

    火花: 尽管Apache Spark具有出色的社区背景,现在被认为是最成熟的社区。但是它的流处理并不比Apache Flink高效,因为它使用了微批量处理。

    弗林克: :与任何其他数据处理系统相比,Apache Flink的性能非常出色。 Apache Flink使用本机闭环迭代操作员,当我们比较Hadoop vs Spark vs Flink时,机器学习和图形处理速度更快。

  6. 内存管理

    火花: 它提供可配置的内存管理。 SPARK 1.6的最新版本已转向自动化内存管理。

    弗林克: 它提供自动内存管理。它具有自己的内存管理系统,与Java的垃圾收集器分开。

  7. 容错

    火花: Apache Spark流恢复了丢失的工作,并且没有额外的代码或配置,它可以将精确的语义提供框开。阅读有关火花容错的更多信息。

    弗林克: Apache Flink后面的容差机制基于枝形宽带分布式快照。该机制是轻巧的,这会导致保持高吞吐率,并同时提供强大的一致性保证。

  8. 可伸缩性

    火花: 它是高度可扩展的,我们可以继续在群集中添加n个数量的节点。一个已知的大型SSPARK群集为8000个节点。

    弗林克: Apache Flink也是高度可扩展的,我们可以在群集中添加N数量的节点,其中大的flink群集是数千个节点。

  9. 迭代处理

    火花: 它分批迭代其数据。在Spark中,必须单独安排和执行每次迭代。

    弗林克: 它通过使用流架结构来迭代数据。可以指示Flink仅处理实际更改的数据部分,从而显着提高作业的绩效。

  10. 语言支持

    火花: 它支持Java,Scala,Python和R. Spark在Scala中实现。它提供其他语言,例如Java,Python和R.

    弗林克: 它支持Java,Scala,Python和R. Flink在Java中实施。它也确实提供了Scala API。

许可以下: CC-BY-SA归因
scroll top