Apache flink 分割前的弗林克滤波器
ApacheFlink使用类似于ApacheSpark的DAG风格的延迟处理模型(如果我错了,请纠正我)。也就是说,如果我使用以下代码Apache flink 分割前的弗林克滤波器,apache-flink,flink-streaming,Apache Flink,Flink Streaming,ApacheFlink使用类似于ApacheSpark的DAG风格的延迟处理模型(如果我错了,请纠正我)。也就是说,如果我使用以下代码 DataStream<Element> data = ...; DataStream<Element> res = data.filter(...).keyBy(...).timeWindow(...).apply(...); 数据流数据=。。。; DataStream res=data.filter(…).keyBy(…).timeW
DataStream<Element> data = ...;
DataStream<Element> res = data.filter(...).keyBy(...).timeWindow(...).apply(...);
数据流数据=。。。;
DataStream res=data.filter(…).keyBy(…).timeWindow(…).apply(…);
.keyBy()
将DataStream
转换为KeyedStream
,并将其分发到Flink工作节点
我的问题是,flink将如何处理这里的
过滤器?在对流进行分区/分发之前,是否会将筛选器应用于传入的数据流
,并且数据流
将仅由通过筛选条件的元素创建?据我所知筛选器
是在按键之前应用的。正如你所说的,它是一个DAG(D==定向的)。你是否看到任何迹象表明情况并非如此
在对流进行分区/分发之前,是否会将筛选器应用于传入的数据流,并且数据流将仅创建通过筛选器条件的元素
是的,没错。我唯一可能会说的不同点是澄清原始流数据
通常已经从源分发(并行)。过滤将在多个任务中并行应用,之后keyBy将在worker中重新编写/重新分发流
您可以使用Flink的web UI检查作业生成的执行图的可视化