Apache Flink 是一个流处理框架,擅长处理实时数据流和批处理任务。Flink 提供了强大的功能来处理和分析大量数据。以下是 Flink 的核心概念:
1. DataStream 和 DataSet API
- DataStream API: 用于处理无界数据流,即不断生成和流动的数据。例如,传感器数据、日志等。
- DataSet API: 用于处理有界数据集,适合静态数据的批处理。自 Flink 1.14 版起,DataSet API 被弃用,建议使用 DataStream API 处理批数据。
2. Execution Environment
ExecutionEnvironment
和 StreamExecutionEnvironment
是 Flink 作业的上下文,用于配置和启动作业。
- StreamExecutionEnvironment: 用于流处理,管理作业的生命周期、任务调度等。
- ExecutionEnvironment: 用于批处理。虽然现在推荐使用
StreamExecutionEnvironment
。
3. Transformation
数据转换操作定义了如何从一个数据集(流)创建另一个数据集(流)。常见的转换包括: