是否有可能notify
Consumer
,一旦Producer
發佈到Kafka topic
的所有數據?Spark Streaming - 生產者完成後,如何通知消費者?
有可能相同的數據(有一些獨特的領域)可用於多個分區,所以我需要分組數據並做一些計算。
我想爲此使用Sliding window
,但問題仍然是我們不知道生產者是否完成發佈數據?
消息數量爲around 50K
,如果我們有更好的配置代理,卡夫卡可以在幾秒內處理50K messages[Single partition]
?
目前,我們計劃有多個分區來根據Default Partitioner
拆分數據。
任何有效的方法來處理?
更新:
每15分鐘一次,生產者得到的數據,並開始發佈數據卡夫卡的話題,我相信這是一個用例進行批處理,但是這是我們目前的設計。
當你在談論流時,不確定「done」是什麼意思。是不是他們是無限期的流的整個點?如果您的製作人正在生成批量消息,並且您關心批量邊界,那麼您可能會發布「批量結束」消息。 –
@JoePallas:我沒有明白,你是什麼意思,發佈「批量結束」消息。 – Shankar
生產者知道它何時完成一批處理,但消費者不知道它是否已經看到批處理中的所有消息。如果生產者在發佈批次的所有數據後發佈特殊的「批量結束」消息,則消費者可以等到在處理批次之前看到該消息。如果您有多個分區,這可能會變得更加複雜;標記必須去每個分區。 –