YOLOE镜像使用心得:高效又省心的检测方案
2026/1/20 0:20:05
本文详细讲解了 Apache Flink 中源函数(Source Function)的演进,从最基础的
SourceFunction到功能更强大的RichSourceFunction,并结合数据库、Kafka 仿真及可配置化场景提供实战示例,同时涵盖状态管理、资源管理和最佳实践。
在 Flink 中,源函数是数据流处理的起点。Flink 提供两类主要接口:
RichSourceFunction是构建复杂生产环境数据源的首选接口。
public interface SourceFunction<T> extends Function, Serializable { void run(SourceContext<T> ctx) throws Exception; void cancel(); }public class BasicSourceFunction implements SourceFunction<String> { private volatile boolean isRunning = true; private long count = 0; @Override public void run(SourceContext<String> ctx) throws Exception { while (isRunning && count < 100) { ctx.collect("Event-" + count + "-" + System.currentTimeMillis()); count++; Thread.sleep(100); } } @Override public void cancel() { isRunning = false; } }StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<String> dataStr