我在Flink作业中实现了一个进程函数,当注入大容量(10mil记录)时,该进程函数似乎已经锁定,并导致前后的操作员暂停并等待刷新、交换间隔。
这看起来像是Flink源一直在等待,直到后来的操作员从忙碌中解脱出来。这是在Flink中处理的背压吗?有没有我们可以配置的让流在没有这样的间隔等待的情况下流动?
发布于 2018-05-29 23:34:58
如果process被阻塞,数据将流向何处?背压并不是Flink所做的明确的事情(据我所知)。相反,这是下游运营商无法接受更多数据的自然后果。
相反,听起来你需要做的是看看如何让你的工作更并行。这可能很简单,只需增加并行度,但如果您的数据是键控的,并且问题实际上是键在单位时间内接收的数据超过了可以有效处理的数据量,则可能会更加复杂。在这种情况下,您可能需要使您的密钥真正能够将数据拆分到多个分区中。
但在不了解应用程序细节的情况下,这一切都只是猜测。
https://stackoverflow.com/questions/50585391
复制相似问题