Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在追加模式下结构化流媒体窗口聚合中的事件排序_Apache Spark_Apache Kafka_Spark Structured Streaming - Fatal编程技术网

Apache spark 在追加模式下结构化流媒体窗口聚合中的事件排序

Apache spark 在追加模式下结构化流媒体窗口聚合中的事件排序,apache-spark,apache-kafka,spark-structured-streaming,Apache Spark,Apache Kafka,Spark Structured Streaming,我在spark结构化流媒体中面临一个问题 当前设置:我有一个来自卡夫卡的数据流。每条消息都有一个eventtime。我使用这些事件时间来进行窗口聚合,并使用水印规则来丢弃状态。 输出模式为追加模式 目标:我需要在窗口聚合过期时按顺序获取它们,以便我可以按EventTime窗口的顺序处理这些事件。我希望windows状态会因滑动窗口而依次过期 问题:有时,消息的打印顺序在windows的基础上是不连续的。前 |[2020-06-11 08:02:00,2020-06-11 08:03:00]| |

我在spark结构化流媒体中面临一个问题

当前设置:我有一个来自卡夫卡的数据流。每条消息都有一个eventtime。我使用这些事件时间来进行窗口聚合,并使用水印规则来丢弃状态。 输出模式为追加模式

目标:我需要在窗口聚合过期时按顺序获取它们,以便我可以按EventTime窗口的顺序处理这些事件。我希望windows状态会因滑动窗口而依次过期

问题:有时,消息的打印顺序在windows的基础上是不连续的。前

|[2020-06-11 08:02:00,2020-06-11 08:03:00]|

|[2020-06-11 08:01:00,2020-06-11 08:02:00]|

为什么窗户没有按顺序放下?我想订这个。
请帮助

它还不在体系结构中。这里的许多帖子都是为了消除这种想法

正如cricket_007在许多帖子中所说的,一般来说,您最好将排序留给下游系统。这种方式也更灵活,RDBMS的整个概念是,固定数据排序顺序的有效性较低——除了集群

如果您查看这个用例,那么您会发现排序没有起到任何作用。也就是说,我看到了许多请求,但许多请求不需要排序就可以实现目标

单分区主题是较低卷的结果,前提是排序顺序由“生产者”设置,并且该顺序是可接受的。此外,您可以考虑KSQL和写入单个分区卡夫卡主题,从java卡夫卡斯卡拉的后续流或卡夫卡流中读取。 我认为问题在于,从几年前我看到的一篇帖子来看:

结构化流媒体的基本原则是查询应该返回 流式或批处理模式下的答案相同。我们支持分类 完成模式,因为我们有所有的数据,可以正确排序 并返回完整答案。在更新或追加模式下,排序将 只有在我们能够保证记录的情况下才能返回正确答案 我们会晚些到达(我们不能)。所以是 不允许


你的卡夫卡主题有多少个分区?如果它有不止一个,它是如何划分的?你是指我的卡夫卡主题的来源吗?源kafka和接收器kafka都只有一个分区。只有在聚合和完全输出模式下,流式数据集才支持排序操作。@BluePhantom为什么我不能在微批处理中排序值?我不想跨批排序,我想在微批中排序我需要检测数据中的顺序模式,因此只有在缓冲、排序然后在微批中处理数据时才可能。我需要在微批中进行顺序模式检测基本生活并不总是我们想要的,你是对的。顺便说一句,旧的Dstream api允许使用.transform方法对这些微批次进行排序?是的,但它是遗留的,所以不相关。不幸的是。大多数Sp-Str无需测序即可完成,但可能会有轻微差异。向上投票就好了