我们有一个Apache Flink POC应用程序,它在本地运行良好,但部署到Kinesis Data Analytics(KDA)后,它不会将记录发送到接收器。 来源:Kafka 2.7 1经纪人 1个主题,分区为1,复制因子为1 来源:亚马逊MSK Kafka 2.8 3个经纪人(但我们正在连接一个) 1个主题,分区为1,复制因子为3 平行度:2 FlinkKafkaConsumer从主题中读
我目前正在将我公司的一些算法移植到flink应用程序中,以便将来作为流运行。为了测试这些算法,我使用从CSV文件读取的现有数据,然后使用flink spector创建流。这些数据集通常包含大约10000个基准,而每个基准都包含一个时间戳和一个整数值。 我现在的问题是,flink应用程序需要非常长的时间(大约半个小时)来处理这些数据,这应该可以在几秒钟内轻松完成,我不知道为什么。 以下是我的代码的外
我们有一个键控流程函数,它使用状态和在此之前立即执行的“key by”。“key by”属性涉及事务值,因此我们希望创建许多键。但这些都是短期的,我们预计不会持续超过一天。是否有任何方法可以从键控流程功能中手动删除与键关联的所有状态和键本身? 只需将关联状态变量的值设置为null,Flink就能清除它吗? 我们担心,即使是为每个关键值保留的非常少量的剩余数据,也会累积并导致巨大的状态大小。
我有2个数据流,我将其连接并输入到一个CoFlatMap函数中。我需要能够在两个不同的数据流上测试生成消息,但在消息到达时进行协调。在Flink如何做到这一点?
例如,我想在单个中组合和的流,因此结果应该是:。换句话说:如果第一个源已耗尽-从第二个源获取元素。我最近的尝试是: 也对datetime进行了类似的尝试,但结果相同。
我在编写从接收器子任务到输出Kafka主题的键控流时遇到了问题。 作业的形式为:source- 异常来自kafka生产者,并导致检查点超时: > FlinkKafkaException:未能向Kafka发送数据:自批创建以来,mytopic-11:120000毫秒的16条记录已过期 作业在出现上述异常的情况下进入崩溃循环,偶尔会在再次崩溃循环之前短暂恢复。我认为这里的问题是,我正在使用这些键来确定
我有一个并行度=256的运算符在128个任务管理器上运行。每次当我遇到检查点失败时,它都发生在该运算符的同一个子任务上,例如总是子任务129卡住并阻止检查点。我想通过检查子任务129运行的任务管理器的日志来了解这个子任务发生了什么。Flink中是否有方法将子任务id映射到相应的任务管理器?
从我对Flink的一点经验来看,我已经注意到,即使我们有按顺序到达的事件,它们也应该在对顺序进行分区之后到达。这里讨论的是:流中记录的排序 所以我有3个问题延伸了上面提到的问题: > 我仍然不清楚keyBy函数后订单丢失的原因。为什么会发生这种情况? 是否有办法确保即使在分区之后事件的顺序? 如果我们不创建KeyedStreams,那么每个并行操作符的事件顺序是否有保证?
我正在一个由15台机器组成的裸机集群上制作Flink流媒体应用程序的原型。我使用的是90个任务槽(15x6)的纱线模式。 该应用程序从单个Kafka主题读取数据。Kafka主题有15个分区,所以我也将源操作符的并行性设置为15。然而,我发现Flink在某些情况下会将2-4个消费者任务实例分配给同一个taskmanager。这会导致某些节点受到网络限制(Kafka主题是提供大量数据,而机器只有1G
我试图根据事件时间计算Kafka主题每分钟传入事件的速率。为此,我使用了1分钟的TumblingEventTimeWindows。下面给出了代码片段。 我观察到,如果我没有收到特定窗口的任何事件,例如从2.34到2.35,则前一个窗口2.33到2.34不会关闭。我理解在2.33到2.34的窗口中丢失数据的风险(可能是由于系统故障、Kafka滞后更大等原因),但我不能无限期地等待。等待一段时间后,我
我想将一系列尝试加入到一个静态的阻止电子邮件列表中,并按IP对结果进行分组,以便稍后统计一组相关的统计数据。结果应在每10秒后以30分钟的滑动窗口交付。以下是我尝试实现这一目标的几种方法之一: 这使用下面的用户定义的表函数,该函数已在my tableEnv中注册为BlockedEmailList: 但是,它返回以下错误: 如果我按照建议执行并将创建的时间戳转换为时间戳,我会得到以下结果: 我在这里
在Flink中,是否可以计算键控窗口的聚合输出? 我们有一个数据流,我们调用byKey()指定一个由字符和数字组成的字段(例如A01、A02…A10、B01、B02…B10等),就像棋盘上的方块一样。在之后,我们调用,因此我们创建了一个每周窗口。在此之后,我们调用,结果我们得到了
下面是我的流处理的伪代码。 上面的代码流程正在创建多个文件,我猜每个文件都有不同窗口的记录。例如,每个文件中的记录都有时间戳,范围在30-40秒之间,而窗口时间只有10秒。我预期的输出模式是将每个窗口数据写入单独的文件。对此的任何引用或输入都会有很大帮助。
我第一次使用flink(1.6,1.7),并使用来自github存档的数据https://www.gharchive.org/但将该数据用作流数据源。 我的简单示例只是统计每天窗口中每个用户的所有事件,我尝试复制相同的示例,但使用TableEnvironment和SQL支持。 但是,我遇到了以下错误: 类org.apache.flink.streaming.api.functions.source
我正在计算一个时间窗口上的计数(求和1),如下所示: 我还想将窗口开始时间添加为一个关键字段。所以结果会是这样的: 所以本质上是按窗口聚合计数。最终目标是绘制这些窗口的直方图。 如何将窗口的开头添加为键中的字段?然后,在这种情况下,将窗口对齐到00秒或30秒?这可能吗?