关于ParallelSourceFunction和SourceFunction的问题

来源:5-6 自定义多并行度Source

峨眉峰还独照

2022-05-11

老师您好。
代码中可以看到ParallelSourceFunction是直接继承SourceFunction的,且没有添加额外的内容,那仅从内容表面上看,ParallelSourceFunction和SourceFunction是一样的。那为什么在最开始设计Flink的时候,不直接定义一个多并行度的SourceFunction呢?这样开发者使用的时候,如果需要单并行度,就把source的并行度设置为1就行;需要多并行度,就把source的并行度设置为其他,这样不是更方便吗?为什么要区分单并行度和多并行度,设计2个接口呢?

写回答

1回答

Michael_PK

2022-05-15

哈哈哈,你这个想法有一定的道理。

但是从架构的层面来看,soucefunction是最顶层的,然后剩下的其他的都是针对顶层进行扩展的

比如:parall开头的是多并行度的,然后带rich开头的是进一步增强的,里面包含了生命周期的方法

1
0

Flink+ClickHouse 玩转企业级实时大数据开发

已经在做大数据,Flink助力轻松提薪;尚未入行,让你弯道超车

1001 学习 · 225 问题

查看课程