我有一个流(KafkaMSG流到一个主题上),有一个flinkKafka消费者,我注意到一个有趣的行为,我想解决这个问题。 当数据正在流入时,如果它在窗口“完成”之前停止,或者如果数据结束(在几个窗口之后)并且没有到达窗口的末尾,则管道的其余部分不会触发。 流程示例: 我正在使用的Flink Kafka消费者010与env时间特性设置为事件时间。和consumer.assign时间戳和水印(新周期
Flink去/序列化操作员状态的频率是多少?每次获取/更新或基于检查点?状态后端有什么不同吗? 我怀疑,对于具有不同键(数百万)和每个键每秒数千个事件的键控流,去/序列化可能是一个大问题。我说得对吗?
我在Kafka有这样的数据: 时间戳从到(大约3分钟)。我有一个Flink程序,它吸收了上面Kafka主题的数据: 我很难理解窗口化是如何与操作一起工作的。 我知道上面的操作将创建包含相同键元素的不同分区。但我不知道什么时候创建窗口,以及如何将每个分区添加到哪个窗口? 我的猜测是,当每个JSON对象到达时,它将由操作键入,然后根据该JSON对象的事件创建一个10秒的窗口? 因此,例如,如果一个时间
在键控流上,我希望在新事件到达时,立即为每个新传入事件计算一次窗口函数,同时以迭代器的形式为它提供过去30天内该键的所有早期事件的上下文。 预期的行为类似于滑动窗口,长度为30天,滑动时间为1纳秒,每个传入事件只计算一次窗口函数。 我看不到如何在内置的翻滚/滑动/会话窗口(带/不带触发器/驱逐器等)上映射此行为。 有人能帮忙吗?或者这需要编写自己的窗口赋值器或自己的键控状态处理吗?
我正在尝试运行Flink流媒体作业。我想确定流处理的延迟和吞吐量。我已启动Kafka代理服务器,并收到来自Kafka的传入消息。如何计算每秒的邮件数(吞吐量)?(如rdd.count。是否有类似的方法来获取传入消息的计数) (完整的场景:我已经通过生产者发送了消息作为Json对象。我在Json对象中添加了一些信息,如名称为字符串和System.currentTimeMills。在流式传输期间,我如
假设我有一个带有键和时间戳的流。我想在每个窗口(滑动窗口)中创建这些关键点的笛卡尔积。如果我有键1,2,3,4,并且我已经将并行度设置为2,我想用以下方式对它们进行“分组”: 我想处理每个窗口中每个组的元素。因此,假设上述元素(1,2,3,4)在同一个窗口中,基于它们的时间戳。 以最简单的形式,我的问题是:给定每个滑动窗口中的一些元素(可能包含多个键),我想创建这些键的组合,如上面的示例所示,并对
我要求澄清Apache Flink(1.6.0)在事件通过窗口发送并应用了一些运算符(如减少()或过程())后,如何处理来自KeyedStreams的事件。 假设一个单节点集群,在执行键控窗口流上的一个操作符后,剩下的是正好1个数据流还是正好k个数据流(其中k是键的唯一值的数量)? 为了澄清,考虑需要从某个源读取事件,通过一些K键,将键事件发送到一些窗口流,减少,然后做几乎任何其他事情。下面两个图
我使用Flink与运动源和事件时间键控窗口。应用程序将监听实时数据流,窗口化(事件时间窗口)并处理每个键控流。我有另一个用例,我也需要能够支持某些关键流的旧数据回填(这些将是具有事件时间的新关键流 鉴于我正在使用水印,这是一个问题,因为Flink不支持每键水印。因此,回填的任何键控流将最终被忽略,因为此流的事件时间将是 我经历了其他类似的问题,但没能得到一个可能的方法。以下是我正在考虑的可能方法,
我是Fink新手,希望计算流的键控总会话持续时间: 表示会话开始,而表示会话结束。预期输出应为事件到达时每个键控的总持续时间。因此,上述数据的样本输出为 在我的实现中,我使用了一个和一个全局的来跟踪 然而,在调试过程中,我无法得到我想要的。 每次调用时,globalstate都是新的对象,并且没有在上一个窗口中计算的任何数据。 因此,我想问 如何在ProcessWindowFunction中获取g
我对闪身是个新手。我正在尝试在我的应用程序中启用检查点和状态。我从Flink文档中看到了我们是如何存储键控状态的。但是我想知道我们是否可以存储非键控状态(的状态)
在Flink中,我有一个键控流,我正在对它应用一个进程函数。 我的键选择器看起来像这样... FooBarProcessFunction看起来像这样... 在FooBarProcessFunction中,我希望获得由MyKeySelector的getKey方法创建的键。那可行吗? 目前,我正在使用一种变通方法,其中我基本上在processElement函数中重新创建键。但如果我能避免这样做,那就太
我们使用的是Flink1.4.1,我们的一个项目。我们通过Flink向我们的处理节点发送一些图像处理作业。Flink任务管理器安装在每个处理节点上。我们的主应用程序将作业发送给Flink作业管理器,Flink作业管理器根据可用性将作业发送给Flink任务管理器。我们实现了一个java应用程序(比方说节点应用程序),Flink在节点上执行这个应用程序。这个应用程序执行我们在处理节点上运行的处理器。这
问题内容: 我一直在努力更新从Kafka读取然后写入Kafka的Flink处理器(Flink 1.9版)。我们已经将此处理器编写为可以朝着Kafka 0.10.2集群运行,现在我们已经部署了一个运行2.2版的新Kafka集群。因此,我着手更新处理器以使用最新的FlinkKafkaConsumer和FlinkKafkaProducer(由Flink文档建议)。但是我遇到了卡夫卡制片人的一些问题。我无
一、部署模式 Flink 支持使用多种部署模式来满足不同规模应用的需求,常见的有单机模式,Standalone Cluster 模式,同时 Flink 也支持部署在其他第三方平台上,如 YARN,Mesos,Docker,Kubernetes 等。以下主要介绍其单机模式和 Standalone Cluster 模式的部署。 二、单机模式 单机模式是一种开箱即用的模式,可以在单台服务器上运行,适用于
一、状态分类 相对于其他流计算框架,Flink 一个比较重要的特性就是其支持有状态计算。即你可以将中间的计算结果进行保存,并提供给后续的计算使用: 具体而言,Flink 又将状态 (State) 分为 Keyed State 与 Operator State: 2.1 算子状态 算子状态 (Operator State):顾名思义,状态是和算子进行绑定的,一个算子的状态不能被其他算子所访问到。官方