Apache Flink - 简介



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

Apache Flink 由 Data Artisans 公司创建,现在由 Apache Flink 社区在 Apache 许可下进行开发。该社区目前拥有超过 479 位贡献者和 15500 多次提交。

Apache Flink 生态系统

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

Ecosystem on Apache Flink

存储

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

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

部署

您可以将 Apache Flink 部署到本地模式、集群模式或云端。集群模式可以是独立模式、YARN 或 MESOS。

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

内核

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

API 和库

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

广告