95-230-024-源码-WordCount走读-RecordWriterOutput 和 RecordWriter

1.视界

在这里插入图片描述

2.前文回顾

上一篇文章[flink 的 OperatorChain]讲到,OperatorChain 的构造函数会接受一个 recordWriters 参数,recordWriters 是一个 RecordWriter 类型的 List。OperatorChain 会为 chain 的每一条出边创建一个 RecordWriterOutput 实例,RecordWriterOutput 中包裹着 RecordWriter,今天我们就来看看这两个类

3.OperatorChain 构造函数的 recordWriters 是如何生成的

我们来看一下 OperatorChain 构造函数的 recordWriters 参数是如何生成的,代码位于 org.apache.flink.streaming.runtime.tasks.StreamTask.java

可以看到,首先会从 StreamConfig 中获取 JobVertex 的所有出边,也就是 chain 的所有出边,同时获取 chain 中所有操作符的 StreamConfig,然后对每一条边调用 createRecordWriter 方法

createRecordWriter 会从 StreamEdge 上获取 StreamPartitioner,并从 StreamTask 的指向环境中获取 ResultPartitionWriter,然后调用 静态方法 Record

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/105748392