0

我有Apache的訪問日誌文件,我想每個頁面的存儲訪問數(總/每天/每小時)在卡桑德拉表。如何從流卡夫卡到卡桑德拉和增量計數器

我試圖通過使用連接卡夫卡從日誌文件流的卡夫卡話題做。爲了增加Cassandra中的度量指標,我可以再次使用Kafka Connect嗎?否則,這裏應該使用哪種其他工具,例如kafka流,火花,flink,kafka連接等?

+2

歡迎計算器!請看看在[如何提問](https://stackoverflow.com/help/asking),具體[如何創建一個最小的,完整的,並且可驗證的示例](https://stackoverflow.com導遊/幫助/ MCVE) – AesSedai101

回答

2

你說的做流處理,其中卡夫卡可以做的 - 要麼Kafka's Streams API,或KSQL。 KSQL運行在Kafka Streams之上,爲您提供了一種非常簡單的方法來構建您所談論的聚合類型。

下面是KSQL做數據流的聚集的例子

SELECT PAGE_ID,COUNT(*) FROM PAGE_CLICKS WINDOW TUMBLING (SIZE 1 HOUR) GROUP BY PAGE_ID 

多見於:https://www.confluent.io/blog/using-ksql-to-analyse-query-and-transform-data-in-kafka

您可以KSQL的輸出,實際上只是一個卡夫卡的話題,並流,其通過卡夫卡連接例如Elasticsearch,Cassandra等等。你提到其他流處理工具,它們也是有效的 - 部分取決於現有技能和語言偏好(例如,Kafka Streams是Java庫,KSQL是...... KSQL,Spark Streaming有Python和Java等) ,但也部署偏好。 Kafka Streams只是一個在現有應用程序中部署的Java庫。 KSQL可以在羣集中部署,依此類推。

0

這可以用弗林克輕鬆完成,無論是作爲一個批次或流工作,有或沒有卡夫卡(弗林克可以從文件中讀取和寫入卡桑德拉)。這種時間窗口聚合很容易用Flink的SQL api完成;請參閱examples here