我想根据具有相同标识符的两个事件来检测两个事件是否在定义的时间范围内发生。例如,如下所示: 下面示例中的My DoorEvent java类具有相同的结构。 我想检测id为1的门在打开后5分钟内关闭。为此,我尝试使用Apache flink CEP库。传入流包含来自20扇门的所有打开和关闭消息。 如何在中将门1的状态保存为打开,以便在步骤中我知道门1是关闭的门,而不是其他门?
我有一个flink cep代码,可以从套接字读取数据并检测模式。假设模式(单词)为“警报”。如果单词alert出现五次或五次以上,则应创建一个警报。但我得到了一个输入不匹配错误。Flink版本为1.3.0。提前谢谢!!
我是Apache Flink的新手,正在尝试了解一些与Kafka一起扩展Flink流媒体作业的最佳实践。我无法找到合适答案的一些问题包括: 您可以/应该运行多少个流作业?运行太多流是否存在可扩展性问题?太多是多少? 如果我们运行假设2,000个流来满足业务需求,那么管理这些流的最佳方法是什么? 从一个流读取流数据到另一个流的首选方式是什么?我们可以加入流、执行连续查询等吗...? 提前感谢您的支持
我读过几篇关于Flink的文章,在读Flink的博客时,我遇到了这样一句话:“最多延迟60秒(事件最多延迟1分钟)” 是否在Flink中定义乱序事件持续时间用于技术“水印”,如果不是,那么内部目的是什么?
我正在使用至少一次检查点模式,这应该是异步化进程。有人能建议吗?我的检查点设置 我的工作有128个容器。 我想用一个30分钟的检查站看看
我有一个Flink工作,负责将数据写入MongoDB的接收器。接收器是RichSinkFunction的实现。 已启用外部化检查点。间隔为5000 mills,方案为一次。 Flink版本1.3, kafka(源话题)0.9.0 我无法升级到Flink 1.4的。 我没有什么疑问 在调用函数开始时或调用完成时,接收器在哪个时间点确认检查点屏障?表示它在确认障碍之前等待持久(保存在MongoDB中)
我有一个非常简单的4节点Flink集群设置,其中一个节点是Jobmanager,其他节点是TaskManager,并通过启动集群脚本启动。所有任务管理器都有相同的配置,关于状态和检查点,如下所示: (后两个选项是在我尝试取消注释时故意注释的,没有任何改变。) 在代码中,我有: 作业工作40分钟后,在目录中 /root/flink-1.3.1/检查点/fs/.../ 我看到了4个名称模式为“chk-
为什么AWS SQS不是Apache Flink的默认连接器?这样做有技术限制吗?还是只是一些没有完成的事情?我想实现这一点,任何指点都将不胜感激
我有一个Flink流应用程序,需要能够“暂停”和“取消暂停”对特定键控流的处理。“处理”意味着只是在流上执行一些简单的异常检测。 我们正在考虑的flow是这样工作的: 命令流,可以是ProcessCommand、PauseCommand或ResumeCommand,每个命令都有一个用于按键的id。 处理命令将检查按键在处理前是否暂停,如果没有暂停,则检查缓冲区。 暂停命令(PauseCommand
我想测量有多少事件在允许的延迟内到达,按事件的特定特征分组。我们假设特定类型的事件有更多的延迟到达,并想验证这一点。 我想到的进行度量的地方是OneElement方法中的自定义触发器,因为这是我们知道事件是否延迟的地方。然而,在SlidingEventTimeWindow的情况下,这意味着如果单个元素延迟超过一张幻灯片,那么它可以被计算多次。 有什么建议吗?
我有一个用例,需要以不同的方式处理延迟事件和正常事件:如果事件在其窗口关闭后到达,则应将其发送到另一个路径。 我想是这样的。sideOutputLateData(..) 可以帮我解决这个问题。在正常情况下(即使用真实世界的数据)也是如此。但如果我想用伪造的数据来测试它,它就会停止工作。 我希望类似于: 将导致: 相反,我得到了: 如果我使用socketTextStream作为具有相同数据的源,它将
如何在允许的延迟期结束之前“清除”窗口元数据(WindowOperator和InternalTimer)? 是否可以将此元数据与窗口数据本身一起清除? 我们不介意丢失元数据——不需要根据之前非延迟数据的上下文来处理具有相同关键时间的延迟事件。 一些背景知识- [目前正在使用Flink-v1.6]我们正在处理事件时间窗口,并处理大量具有唯一键的事件。95%的活动不会迟到,只会开火一次。 我们的工作规
我正在使用Flink CEP,我需要处理甚至不生成警报的事件。请问我该怎么做? 我正在使用rabbitMq中的事件,并定义了一些模式。现在我需要做的是将另一个队列中接收到的所有事件发送到一个远程API。我是Flink的新手,所以我遵循了文档中的示例。当我在将接收到的事件与定义的模式进行匹配后尝试发送它们时,我只会得到与模式匹配的结果。例如,我想做的就是在我的事件中将一个属性设置为true,然后将它
我正在kubernetes中运行一个Flink作业。我的设置如下 1个作业管理器吊舱 我的flink作业从kafka源获取时间序列数据(时间、值),进行聚合和其他转换,并将其发布到kafka接收器。 有时,我的作业因检查点异常(10分钟后超时)而失败,主要是由一名操作员完成的。我不理解异步持续时间(在图中)的含义,为什么它花费的时间最长。在这个异常之前,Kafka的吞吐量非常高,有500-800万
我有两个流,一个是主流,比如在欺诈检测的示例中,我有事务流,然后我有第二个流,即配置,在我们的示例中是规则。所以我将主流连接到配置流以进行处理。但当flink第一次启动时,我们正在添加作业,它开始消耗事务并配置流并行,当需要处理事务时,它有时会看到没有配置,我们必须将事务发送到死信队列。然而,我想实现的是,如果有专利配置,我可以稍后再获取,我想先获取该配置,然后获取事务,以便处理它,而不是将其发送