Apache Spark和Apache Flink处理数据的区别是什么?
目前在业界比较熟知的开源大数据处理框架中,能够同时支持流式计算和批量计算,比较典型的代表分别为Apache Spark和Apache Flink两套框架。其中Spark通过批处理模式来统一处理不同类型的数据集,对于流数据是将数据按照批次切分成微批(有界数据集)来进行处理。Flink则从另外一个角度出发,通过流处理模式来统一处理不同类型的数据集。Flink用比较符合数据产生的规律方式处理流式数据,对于有界数据可以转换成无界数据统一进行流式,最终将批处理和流处理统一在一套流式引擎中,这样用户就可以使用一套引擎进行批计算和流计算的任务。
用户可能需要通过将多种计算框架并行使用来解决不同类型的数据处理,例如用户可能使用Flink作为流计算的引擎,使用Spark或者MapReduce作为批计算的引擎,这样不仅增加了系统的复杂度,也增加了用户学习和运维的成本。而Flink作为一套新兴的分布式计算引擎,能够在统一平台中很好地处理流式任务和批量任务,同时使用流计算模式更符合数据产生的规律,相信Flink会在未来成为众多大数据处理引擎的一颗明星。
资料来源:《Flink原理、实战与性能优化》,文章链接:https://developer.aliyun.com/article/724685
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。