如果存在多个下游操作符,java不会发送重复记录
如果我运行一个示例flink应用程序,如下所示:
DataStream ds;
ds.map(new MapFunction1()).print();
ds.map(new MapFunction2()).print();
flink会在内部为ds中的每条记录发送两次给下游操作员(MapFunction1和MapFunction2)吗
我知道flink中的数据交换发生在taskmanager级别,而不是操作员级别
你可以在下面搜索框中键入要查询的问题!
如果我运行一个示例flink应用程序,如下所示:
DataStream ds;
ds.map(new MapFunction1()).print();
ds.map(new MapFunction2()).print();
flink会在内部为ds中的每条记录发送两次给下游操作员(MapFunction1和MapFunction2)吗
我知道flink中的数据交换发生在taskmanager级别,而不是操作员级别
# 1 楼答案
此应用程序的作业图如下所示,整个应用程序在一个taskmanager中的单个线程中运行。我禁用了操作符链接以使Flink webui生成此图,但如果我没有这样做,就根本没有网络参与
# 2 楼答案
是的,试试:
输出: