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
數據轉換操作定義了如何從一個數據集(流)創建另一個數據集(流)。常見的轉換包括: