2016-01-26 34 views
0

我有一個在本地運行的R腳本:每個記錄/行被送入一個名爲func的函數來執行一些計算。所以流程如下。如何使用sparkR在不同的集羣上進行並行計算?

new <- lapply(old, func) 

理想的情況下,使用sparkR,我希望每個工人都有函數func和「老」的一個子集進行計算。在這種情況下,func非常簡單,可以在本地計算(不需要此func的分佈式版本)。

任何人都知道如何使用SparkR來實現這一點?基本上問題是SparkR是否支持像dopa parallel一樣的多功能工作。

+0

基本上,問題是「有沒有在SparkR像doparallel但多位工人運作的任何支持」 – HappyCoding

+0

你想要做的地圖嗎?如果是這樣,請參閱http://stackoverflow.com/questions/31012765/how-to-do-map-and-reduce-in-sparkr –

回答

0

類似doParallel上SparkR並行功能正在開發中,但目前還無法在1.6.0

https://issues.apache.org/jira/browse/SPARK-7264

另一個選擇可能是使用的UDF SparkR,這也是當前正在開發並且尚未提供。

https://issues.apache.org/jira/browse/SPARK-6817

+0

感謝您的答覆。覺得令人驚訝的是,sparkR目前還沒有這個可用的。期待新版本發佈。但是,我會保留這篇文章一段時間,以防有些人碰巧知道一些替代方案來解決問題。謝謝:) – HappyCoding

+0

檢查https://github.com/amplab-extras/SparkR-pkg和https://amplab-extras.github.io/SparkR-pkg/。似乎在amplab-extras中的原始sparkR可以支持分佈式RDD。 – HappyCoding

+0

@HappyCoding問題不是支持自身,而是性能和健壯性。這就是爲什麼自官方發佈以來RDD API不包含在SparkR中。 – zero323

相關問題