用户您好!请先登录!

分类目录Spark

比较Spark和Flink

当提及大数据时,我们无法忽视流式计算的重要性,它能够完成强大的实时分析。而说起流式计算,我们也无法忽视最强大的数据处理引擎:Spark和Flink。

Apache Spark自2014年以来迅速普及。它提供了一个适用常见数据处理场景的统一引擎,如批处理、流处理、交互式查询和机器学习。在某些情况下,它的性能是前一代Hadoop MapReduce的数百倍。凭借其高性能的处理和广泛的场景支持,它在大数据开发方面受到早期用户的长期青睐。

在Spark出现后不久,Apache Flink就作为强劲对手进入公众视野,并在2016年左右名声大噪。当Spark早期用户在实时流处理等场景中面临可用性问题时,Flink提供了一个支持各种场景的高级流处理引擎,Flink的优势还不仅仅于此。

在这场短暂的竞争中,Spark在持续优化它的实时流处理能力,2.3版(2月份)中引入了一个持续流处理模型,将流处理延迟降至毫秒级。同样,Flink也是一个强大的创新者。这两个框架中谁会成为定义下一代大数据计算的主流,这还有待观察。

为了阐明这个问题,本文将全面分析它们各自的技术和用途。

大数据计算引擎的起源

最初,Hadoop和其他基于MapReduce的数据处理系统出现是为了满足传统数据库能力以外的数据处理需求。2004年谷歌发布MapReduce白皮书以来的发展浪潮,利用Hadoop开源生态系统或者类似系统来处理大数据已经成为业界的基本需求。

尽管操作门槛一降再降,但公司在开发自己的数据处理系统时,还是不可避免地遇到一系列问题。他们经常发现从数据中获取价值所需的投入远远超出了预期。

阅读更多