我們正在使用Cassandra的計數的各種分析指標數據,通過帳戶和日期,這似乎是細分的大名單才能工作得好:使用卡桑德拉算
SELECT COUNT(page_impressions) FROM analytics WHERE account='abc' and MINUTE > '2015-01-01 00:00:00';
我們想進一步打破這個數據通過域,這導致了一個問題。在一個月左右的時間內,某些帳戶可能會有數百萬個域名,我們對「頂級」域名感興趣,這意味着我們想按照page_impressions
字段排序。
有沒有人有我如何根據域進行計數和按總頁面展示排序的指針?
謝謝!
嗨完成!我已經嘗試了Presto和Spark - 但它們並不像我想要的那樣完美 - 例如,他們會在15-20秒內恢復數據,與Hive相比,這是驚人的,但速度不足以支持UI。如果我投入時間調整,你認爲我可以把這個問題縮小到1-2秒查詢嗎? – 2015-01-27 21:36:40
您必須在一個或多個維度的某個點上使用聚合。例如。您可以決定爲小時和天數的指標創建彙總。這可以通過調度在一天結束時創建聚合的作業來完成,也可以使用Spark Stream或samza等解決方案「實時」完成。火花流傳輸的想法是不斷讓你激發代碼應用到傳入數據(理想情況下來自隊列而不是c),並將彙總結果寫入cassandra。要麼準確地寫出你需要的總量或者之後應用另一個火花作業。 – 2015-01-28 17:47:10