Apache Flink - 简介

Apache Flink是一个可以处理流数据的实时处理框架。 它是一个开源流处理框架,适用于高性能、可扩展且准确的实时应用程序。 它具有真正的流模型,并且不将输入数据作为批处理或微批处理。

Apache Flink 由 Data Artisans 公司创立,现由 Apache Flink 社区在 Apache License 下开发。 迄今为止,该社区拥有超过 479 名贡献者和 15500 多项提交。

Apache Flink 生态系统

下图显示了 Apache Flink 生态系统的不同层 −

Apache Flink 上的生态系统

存储

Apache Flink 有多个选项可以读取/写入数据。 以下是基本存储列表 −

  • HDFS(Hadoop 分布式文件系统)
  • 本地文件系统
  • S3
  • RDBMS (MySQL, Oracle, MS SQL 等)
  • MongoDB
  • HBase
  • Apache Kafka
  • Apache Flume

部署

您可以在本地模式、集群模式或云端部署 Apache Fink。 集群模式可以是standalone、YARN、MESOS。

在云上,Flink 可以部署在 AWS 或 GCP 上。

Kernel

这是运行时层,提供分布式处理、容错、可靠性、原生迭代处理能力等。

APIs & 库

这是 Apache Flink 的顶层,也是最重要的一层。 它具有负责批处理的 Dataset API 和负责流处理的 Datastream API。 还有其他库,例如 Flink ML(用于机器学习)、Gelly(用于图形处理)、Tables for SQL。 该层为 Apache Flink 提供了多种功能。