我們正在使用一個應用程序服務器和3節點Cassandra集羣工作應用程序。最近我們獲得了新的要求,即將大量CSV文件導入到我們現有的數據庫在保存到Cassandra之前,需要對CSV中的行進行轉換。我們的基礎架構部署在Amazon AWS中。使用cassandra的現有應用程序中的Spark集成
有幾個問題:
- 它看起來對我們Spark是正確的工具的工作,因爲它有Spark Cassandra Connector和Spark CSV plugin。我們是否正確?
- 也許是一個新手Spark問題,但在我們的部署場景中,應該在哪裏部署應用程序?我們的想法是在其中一個數據庫節點上安裝Spark Master,Spark工作人員分佈在3個數據庫節點和導入器應用程序的同一節點上。最好有一些命令行界面來導入CSV,後者可以發展到API/Web界面。
- 我們可以把應用程序服務器上的導入器應用程序和網絡懲罰?
- 我們可以使用Spark在這種情況下對卡桑德拉任命爲好,我們如何能夠集成到現有的應用程序,它已經使用了常規的Datastax Java驅動程序與應用程序一起,如果需要
感謝的答案,也許我並不清楚,我需要從CSV數據加載到Cassandra的,所以對數字1,我們需要的連接器,以及對處理後的數據,以現有的卡桑德拉表從CSV保存。並且第4號完全獨立於CSV導入,我們目前加入並在應用程序級別排序的表,所以我想知道也會引發這方面的幫助 –
對於#4,使用連接器可以輕鬆地將數據加載到RDD中,然後在RDD上使用Spark Joins http://spark.apache.org/docs/1.4.1/programming-guide.html#JoinLink ...對於#1,我的意思是說你可以用一個簡單的Java驅動程序封裝來處理與Cassandra的本地連接,但是連接器當然會支持這個盒子,這就是爲什麼我說這不是真正意義上的幫助。 – Emam
只有一件事情關於#4對我來說並不清楚。我現有的應用程序正在從其他服務器上的Cassandra讀取數據,並通過其餘API進行公開。 Spark Cassandra連接器和連接作業必須部署到Spark Cluster,或者我們可以遠程使用JOINS(例如通過在現有應用程序中創建SparkContext來實現某種RPC)? –