Apache Flink - 简介
Apache Flink是一个可以处理流数据的实时处理框架。 它是一个开源流处理框架,适用于高性能、可扩展且准确的实时应用程序。 它具有真正的流模型,并且不将输入数据作为批处理或微批处理。
Apache Flink 由 Data Artisans 公司创立,现由 Apache Flink 社区在 Apache License 下开发。 迄今为止,该社区拥有超过 479 名贡献者和 15500 多项提交。
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 提供了多种功能。