Repolode
apache

apache/flink

Apache Flink 是开源的流处理与批处理框架,支持 Java、Scala、Python 和 SQL 接口。

Star
26,417
Fork
14,065
未关闭 Issue
398
最近提交
16小时前

这是什么?

Apache Flink 是一个分布式数据处理框架,既能处理持续不断的事件流,也能处理有界数据集。其运行时将批处理视为流处理的特例,同一套引擎可以同时承载两类任务。

它的 DataStream API 支持事件时间语义和乱序事件处理,窗口可按时间、数量、会话或自定义触发器划分。容错机制基于精确一次(exactly-once)的处理保证,流作业中的背压也会自然传递。

Flink 可与 YARN、HDFS 等 Hadoop 生态组件集成。Kafka、JDBC、Elasticsearch 等大部分连接器已拆分到 Apache 旗下的独立仓库中维护。项目使用 Maven 构建,支持 Java 11、17 和 21。

核心功能

  • 01以流为核心的运行时,同时支持批处理作业
  • 02DataStream API 支持事件时间和乱序事件处理
  • 03窗口可按时间、数量、会话或自定义触发器划分
  • 04提供精确一次(exactly-once)的容错保证
  • 05兼容 Hadoop MapReduce,并可与 YARN、HDFS 集成

适用场景

  • 对点击流、传感器等事件流做实时分析
  • 构建持续运行的 ETL 管道,向数据仓库或搜索索引写入数据
  • 用同一套代码同时编写批处理和流处理任务
  • 需要精确一次结果的有状态事件驱动应用

快速上手

  1. 1

    克隆代码仓库

    git clone https://github.com/apache/flink.git
  2. 2

    进入项目目录

    cd flink
  3. 3

    为 Java 17(默认)构建 Flink

    ./mvnw clean package -DskipTests -Djdk17 -Pjava17-target

使用前须知

  • 从源码构建约需 10 分钟,并需要 Maven 3.9.16 以及 JDK 11、17 或 21 版本。
  • 大多数连接器已迁移到独立仓库,需要单独添加。

收录于专题

标签

常见问题

flink 是什么?
Apache Flink 是开源的流处理与批处理框架,支持 Java、Scala、Python 和 SQL 接口。 Apache Flink 是一个分布式数据处理框架,既能处理持续不断的事件流,也能处理有界数据集。其运行时将批处理视为流处理的特例,同一套引擎可以同时承载两类任务。
flink 可以免费使用吗?用的什么许可证?
flink 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
flink 还在维护吗?
活跃维护中。flink 最近一次提交是在 2026年10月22日。
flink 适合用来做什么?
对点击流、传感器等事件流做实时分析 构建持续运行的 ETL 管道,向数据仓库或搜索索引写入数据 用同一套代码同时编写批处理和流处理任务 需要精确一次结果的有状态事件驱动应用
flink 怎么安装和运行?
克隆代码仓库: git clone https://github.com/apache/flink.git 进入项目目录: cd flink 为 Java 17(默认)构建 Flink: ./mvnw clean package -DskipTests -Djdk17 -Pjava17-target
在哪里获取 flink?
源代码和安装说明在 GitHub 上:https://github.com/apache/flink

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目