如果process
被阻塞,数据将流向哪里?背压并不是Flink所做的明确的事情(据我所知)。相反,这是下游运营商无法接受更多数据的自然后果。
听起来你需要做的是看看如何让你的工作更加平行。这可能很简单,只需要增加并行度,但如果您的数据是键控的,而且问题实际上是一个键在单位时间内接收的数据超过了可以有效处理的数据,那么这可能会更加复杂。在这种情况下,您可能需要使您的密钥实际上是这样的,即您的数据被分割到多个分区。
但在不了解应用程序的细节的情况下,这一切都只是猜测。
我正在使用至少一次检查点模式,这应该是异步化进程。有人能建议吗?我的检查点设置 我的工作有128个容器。 我想用一个30分钟的检查站看看
我有一份flink的工作,从Kafka读取数据,执行某些聚合,并将结果写入elasticsearch索引。我看到震源上有很高的背压。高背压导致数据从Kafka缓慢读取,我看到数据在网络堆栈中排队(netstat RecvQ显示源Kafka连接中有上万字节的数据,数据最终被读取),这反过来会导致数据在延迟后沉入elasticsearch,并且延迟持续增加。 源每分钟产生约17500条记录,Flink
下面的相同代码显示了两个源函数-一个产生0-20的偶数,另一个产生1-20的奇数,连接在一起以输出所有两个流的并集并将它们打印出来。 示例代码: 输出 Q1. Flink应该将连接流中最先到达的项目发送到协处理函数。然而,我们在这里看到的是,数字“2”是以源函数的方式在数字“11”之前生成的,但数字“11”是在“2”之前发送给协处理函数的。为什么会这样? 第二季度。 连接流中无背压发生。源函数一直
我试图在Flink的数据流上应用每窗口功能。以下是我的代码 下面是我的实现MyProcessWindow函数 然而,当我试图通过maven编译上述代码时,我得到了以下错误 知道我做错了什么吗?仅供参考,我正在使用ApacheFlink 1.5.1版,并在Mac上使用maven3编译Java代码。
我正在运行一个流式flink作业,它消耗来自kafka的流式数据,在flink映射函数中对数据进行一些处理,并将数据写入Azure数据湖和弹性搜索。对于map函数,我使用了1的并行性,因为我需要在作为全局变量维护的数据列表上逐个处理传入的数据。现在,当我运行该作业时,当flink开始从kafka获取流数据时,它的背压在map函数中变得很高。有什么设置或配置我可以做以避免背压在闪烁?
我最近在Flink的新版本中学习。它表示支持全局状态和窗口状态。我使用Scala API进行了尝试。到目前为止,我可以让全球状态运转起来,但我没有任何运气让它成为窗口状态。我要做的是处理系统日志,并统计由主机名和严重性级别键入的日志数。我想计算两个相邻窗口之间日志计数的差异。下面是我实现的代码。 我总是从窗口状态中得到0值,而不是以前应该更新的计数。我已经为这个问题挣扎了几天。有人能帮我弄清楚吗?