簡體   English   中英

如何使用Python在Kafka Consumer中創建聚合

[英]How to create aggregation in kafka consumer using python

嗨,我已經使用from kafka import KafkaConsumer模塊使用python編寫了kafka消費者應用程序

現在我有如下使用的json字段,

{
  "user": "bob",
  "src_ip": "45.6.7.2"
 }

現在,我如何每隔5或10分鍾(可配置時間)消耗一次消息,然后檢查給定時間內每個用戶的src IP是否相同。 如果不同,則必須發送以將其保存在數據庫中,或通過REST POST發送到其他位置。

如何使用python消費者應用程序實現此目標?

是的你可以! 要獲取消息的時間戳,請嘗試msg.timestamp

為確保每個用戶的數據始終路由到相同的分區(並因此始終由同一使用者處理),請在生成消息時使用key=data["user"]

最后,您需要了解,在消費者應用程序的整個生命周期中,分區分配可能會發生變化。 因此,請考慮當消費者在5分鍾或10分鍾的窗口之一中途崩潰或丟失其任務時該怎么辦。 失去上下文有關系嗎? 如果沒有,您可能可以為每個使用者使用一個簡單的內存中數據存儲。 如果丟失上下文確實很重要,則您可能需要考慮使用定期手動偏移提交或使用中央數據存儲的替代策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM