Spark Streaming - 生产者完成后如何通知消费者?
Spark Streaming - How do i notify the Consumer once the Producer is done?
一旦 Producer
将所有数据发布到 Kafka topic
,是否可以 notify
Consumer
?
相同的数据(带有一些唯一字段)有可能在多个分区中可用,所以我需要对数据进行分组并进行一些计算。
我想过用Sliding window
,但问题是不知道Producer是否完成发布数据?
消息量around 50K
,如果我们有更好配置的broker,Kafka是否可以秒处理50K messages[Single partition]
?
目前,我们计划根据Default Partitioner
.
进行多分区拆分数据
有什么有效的方法来处理这个问题吗?
更新:
每十五分钟一次,生产者获取数据并开始将数据发布到 Kafka 主题,我确定这是批处理的用例,但这是我们当前的设计。
Spark Streaming 不是那样工作的。它的工作方式是无限的数据流在每个批次间隔流入并得到处理。这意味着如果你想发出逻辑信号"end of batch",你需要发送一条消息表明这批数据已经结束,允许你将处理过的消息发送到你想要的输出接收器。
实现此目的的一种方法是使用有状态流,它跨批次聚合数据并允许您在批次间隔之间保持状态。
一旦 Producer
将所有数据发布到 Kafka topic
,是否可以 notify
Consumer
?
相同的数据(带有一些唯一字段)有可能在多个分区中可用,所以我需要对数据进行分组并进行一些计算。
我想过用Sliding window
,但问题是不知道Producer是否完成发布数据?
消息量around 50K
,如果我们有更好配置的broker,Kafka是否可以秒处理50K messages[Single partition]
?
目前,我们计划根据Default Partitioner
.
有什么有效的方法来处理这个问题吗?
更新:
每十五分钟一次,生产者获取数据并开始将数据发布到 Kafka 主题,我确定这是批处理的用例,但这是我们当前的设计。
Spark Streaming 不是那样工作的。它的工作方式是无限的数据流在每个批次间隔流入并得到处理。这意味着如果你想发出逻辑信号"end of batch",你需要发送一条消息表明这批数据已经结束,允许你将处理过的消息发送到你想要的输出接收器。
实现此目的的一种方法是使用有状态流,它跨批次聚合数据并允许您在批次间隔之间保持状态。