我正試圖創建一個簡單的應用程序,它向我的網站上的每個網頁的頁面視圖寫入Cassandra。我想從邏輯小時開始每5分鐘寫一次累積頁面瀏覽量。使用我自己的Cassandra驅動程序編寫聚合結果
我給這家代碼看起來是這樣的:
KTable<Windowed<String>, Long> hourlyPageViewsCounts = keyedPageViews
.groupByKey()
.count(TimeWindows.of(TimeUnit.MINUTES.toMillis(60)), "HourlyPageViewsAgg")
哪裏還通過設置COMMIT_INTERVAL_MS_CONFIG
屬性設置我的承諾間隔爲5分鐘。據我的理解,應該每隔5分鐘累計一小時並輸出中間累積狀態。
我現在的問題有兩個:
考慮到我有我自己的卡桑德拉司機,我怎麼寫聚集卡桑德拉的5分鐘,中間結果?試圖使用foreach,但這似乎並不奏效。
我只需要在聚集5分鐘後寫入,而不是每次更新。可能嗎?讀here暗示它可能不會使用低級API,我試圖避免它,因爲它似乎是一個足夠簡單的任務與更高級別的API完成。
嗨,感謝您的評論。我會用卡夫卡連接,但我需要一些監視(計數,定時器),並且爲了我的理解,我需要編寫自己的連接器來實現這一點。 – idoda