2016-02-10 19 views
0

我在同一個數據中心有兩個節點和replica_factor = 2的Cassandra集羣。表在150萬,並不斷增加,我需要讀取過程,並在一天內更新卡桑德拉的相應行。如何讀取卡桑德拉非常巨大的表中的所有行?

  • 有沒有更好的方法來做到這一點?

  • 有沒有什麼辦法可以通過一些線程並行塊和每個塊進程劃分所有行?

  • 卡桑德拉版本:2.2.1

  • Java版本:1.7的OpenJDK

回答

0

你應該看看的火花。通過使用Spark Cassandra Connector,您可以從Cassandra中的多個Spark節點讀取數據,這些節點可以在Cassandra節點上另行部署,也可以在單獨的羣集中部署。通過運行Spark作業來並行讀取,處理和寫回數據,該作業也可以安排爲每日執行。

由於您的數據量不斷增加,查看Spark Streaming可能會有意義,因此您可以根據新數據進行不斷處理和更新數據。這將阻止重新處理同一數據並重新開始,但它當然取決於您的使用情況,如果這是您的選擇。