Apache Flink是什么?

  • 内容
  • 评论
  • 相关

Flink 项目是大数据计算领域冉冉升起的一颗新星。大数据计算引擎的发展经历了几个过程,从第 1 代的 MapReduce,到第 2 代基于有向无环图的 Tez,第 3 代基于内存计算的 Spark,再到第 4 代的 Flink。

如果你希望了解各种流式计算框架的区别,请转到:大数据流式计算框架汇总和对比

因为 Flink 可以基于 Hadoop 进行开发和使用,所以 Flink 并不会取代 Hadoop,而是和 Hadoop 紧密结合。

Flink 主要包括 DataStream API、DataSet API、Table API、SQL、Graph API 和 FlinkML 等。现在 Flink 也有自己的生态圈,涉及离线数据处理、实时数据处理、SQL 操作、图计算和机器学习库等。

Flink 是什么?

很多人是在 2015 年才听到 Flink 这个词的,其实早在 2008 年,Flink 的前身就已经是柏林理工大学的一个研究性项目,在 2014 年这个项目被 Apache 孵化器所接受后,Flink 迅速成为 ASF(Apache Software Foundation)的顶级项目之一。截至目前,Flink 的版本经过了多次更新。

Flink 是一个开源的流处理框架,它具有以下特点:

  • 分布式:Flink 程序可以运行在多台机器上。
  • 高性能:处理性能比较高。
  • 高可用:由于 Flink 程序本身是稳定的,因此它支持高可用性(High Availability,HA)。
  • 准确:Flink 可以保证数据处理的准确性。

Flink 主要由 Java 代码实现,它同时支持实时流处理和批处理。对于 Flink 而言,作为一个流处理框架,批数据只是流数据的一个极限特例而已。

此外,Flink 还支持迭代计算、内存管理和程序优化,这是它的原生特性。

由图1可知,Flink 的功能特性如下:

  • 流式优先:Flink 可以连续处理流式数据。
  • 容错:Flink 提供有状态的计算,可以记录数据的处理状态,当数据处理失败的时候,能够无缝地从失败中恢复,并保持 Exactly-once。
  • 可伸缩:Flink 中的一个集群支持上千个节点。
  • 性能:Flink 支持高吞吐、低延迟。

Flink的功能特性
图1:Flink的功能特性

本文标题:Apache Flink是什么?

本文地址:https://www.hosteonscn.com/7559.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注