2017-08-04 33 views
0

我正在研究一個Java應用程序,其中我們有450個多線程。線程池的大小爲25.每個線程的任務是調用8到9個Web服務,獲取響應,分析響應XML並將提取的數據存儲到數據庫中。進入10到12列的數據庫表的總行數大約爲30000.有多個Java線程時使用Apache Spark的可行性

由於這裏有很多並行處理,我們應該在這種情況下引入Apache Spark嗎?維護Apache Spark集羣和所有這些會帶來額外的開銷嗎?我們如何將問題分解成Apache Spark的驅動程序?

回答

1

這是相當廣泛的問題,但你應該遵循這個問題:

  • 是你的任務處理數據?它可能會得到數據,操縱和保存或依靠副作用
  • 你的工作量是多少?一臺計算機上只有一個JVM足以處理數據?

如果你在第一個問題中是肯定的而在第二個問題中沒有,那麼你可以考慮使用Spark。

你現在必須將事實是,星火:

  • 旨在操縱,彙總,處理數據
  • 是分佈式計算,

,所以如果你不使用這些功能,例如使用Akka進行簡單的並行處理,即使採用分佈式方式。 Spark將是數據分析,機器學習,OLAP查詢和圖形處理的良好解決方案

+0

大約需要1小時的時間才能完成當前使用Java多線程的所有任務。數據處理並沒有達到那麼高的程度。 – pankaj