ExecutionEnvironment
和 StreamExecutionEnvironment
是 Apache Flink 中的两个重要概念,分别对应批处理(Batch)和流处理(Stream)环境
ExecutionEnvironment
是 Apache Flink 中用于批处理任务的执行环境。它主要用于处理有界数据集(Bounded Data Set),即数据量有限且在执行前已知的数据集。ExecutionEnvironment
可以读取和写入文件系统、数据库等数据源,支持批处理操作,如 map, reduce, join 等。创建 ExecutionEnvironment
的示例代码:
import org.apache.flink.api.java.ExecutionEnvironment;
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
StreamExecutionEnvironment
是 Apache Flink 中用于流处理任务的执行环境。它主要用于处理无界数据流(Unbounded Data Stream),即数据量无限且持续产生的数据流。StreamExecutionEnvironment
可以从文件系统、消息队列、套接字等数据源读取数据流,并支持流处理操作,如 map, flatMap, keyBy, window 等。创建 StreamExecutionEnvironment
的示例代码:
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
总结:
ExecutionEnvironment
主要用于批处理任务,处理有界数据集,执行一次性任务。StreamExecutionEnvironment
主要用于流处理任务,处理无界数据流,执行持续运行的服务。根据应用场景和处理数据类型的不同,可以选择合适的执行环境进行任务处理。
领取专属 10元无门槛券
手把手带您无忧上云