我有兩個Kafka
流,request
和event
每個分區在一個公共字段requestId(最後兩位數字)。我想加入這兩個流並寫入HDFS
或本地filesystem
?如何編寫一個高效的consumer
,在加入兩個streams
時只考慮相關的partitions
?如何加入兩個Kafka流,每個都有多個分割?
回答
您應該使用Kafka's Streams API,Apache Kafka的流處理庫,而不是手寫消費者。要將數據寫入HDFS,您應該使用Kafka Connect。
對於做加盟,看看這樣一個問題:How to manage Kafka KStream to Kstream windowed join?
還檢查了匯合的文檔關於Kafka Streams和Kafka Connect上手。如果您有進一步的問題,請開始後續問題(閱讀手冊後:))
卡夫卡流與Kafka連接(HDFS)是一個簡單的解決方案。但是,必須指出的是,Kafka Connect的HDFS連接器僅適用於Confluent的Kafka版本。 Apache Kafka Connect只附帶一個文件編寫器,而不是HDFS編寫器。
如何使用Flume從Kafka寫入HDFS? – Rubbal
這並非完全正確:即使您使用vanilla Apache Kafka,您也可以下載Confluent的HDFS連接器https://www.confluent.io/product/connectors/並使用它。此外,沒有「合流版卡夫卡」 - 它只是重新包裝,但與Apache Kafka 100%兼容(它可能包含額外的bug修復 - 但很少發生)。 –
@Rubbal,我沒有使用flume來達到這個目的。 –
- 1. 加入兩個表都有記錄
- 2. kafka - 多個主題vs多個分區
- 3. 如何擁有多個UIWebviews,每個都有自己的UITapGestureRecognizer?
- 4. 加入兩個表,具有多個值
- 5. 如何運行兩個片段,每個都有自己的AsyncTasks
- 6. FLASK,一個HTML與長輸入形式分成兩個或多個分割htmls
- 7. 如何合併兩個或多個流
- 8. 如何分割中的每一個
- 9. 分割欄分成兩個
- 10. 提高Mule ESB的性能,每個流程都有多個流程參考
- 11. 如何分割每個空白的數組的每個條目?
- 12. 如何分割兩個大寫字母?
- 13. 如何分割兩個表格字段?
- 14. 具有多個kafka輸入的Logstash
- 15. 每個CPU內核有多少管道?每個人都有
- 16. 將Kafka輸入流動態連接到多個輸出流
- 17. 附加兩個輸入與每個$ .each。?
- 18. 如何在Apache Spark中加入兩個(或更多)流(JavaDStream)
- 19. Kafka:如何生成多個傳入文件給Kafka?
- 20. 分割具有多個分離器
- 21. 將輸入流分割爲多個窗口並單獨處理
- 22. 如何在2行(每個都有兩個元素)顯示4個HTML元素?
- 23. 全部加入,並加入兩個表有多個按鍵
- 24. 是否有可能在張量流中將多個GPU分割成多個GPU?
- 25. 分割兩個數字
- 26. VB.NET - 分割成多個分割號碼
- 27. 如何分割多個字符串(Php)?
- 28. 如何分割使用多個字符?
- 29. 如何分割在多個TR聲明
- 30. 如何分割在多個列
謝謝。看起來正是我需要的東西! – Rubbal
@ matthias-j-sax我閱讀手冊,這兩個庫僅與Confluent的版本兼容(感謝rationalSring指出它)。使用融合的版本有什麼缺點嗎? – Rubbal
這是不正確的。合流,只需重新包裝Apache Kafka,並且與ASF版本100%兼容。只有HDFS連接器不是Apache Kafka的一部分,但您可以從confluent.io/product/connectors下載並使用ASF版本。由於Confluent提供Confluent開源代碼,並且代碼與ASF Kafka 100%兼容,所以使用Confluent的優惠沒有缺點 - 只有當您獲得更大的軟件堆棧時纔有優勢。 –