【发布时间】:2020-12-22 10:22:32
【问题描述】:
目前,我正在使用 doparallel 库中的 foreach 循环在同一台机器的多个内核上并行运行函数调用,如下所示:
out_results=foreach(i =1:length(some_list))%dopar%
{
out=functions_call(some_list[[i]])
return(out)
}
这个some_list是一个数据框列表,每个数据框会有不同的列数,function_call()是一个对数据做多种事情的函数,比如数据操作,然后使用用于变量选择的随机森林,然后最后执行最小二乘拟合。变量 out 还是一个包含 3 个数据框的列表,而 out_results 将是一个列表列表。 我在函数调用中使用 CRAN 库和我创建的一些自定义库,我想避免使用 spark ML 库,因为它们的功能有限并且需要重写整个代码。
我想利用 spark 并行运行这些函数调用。有可能这样做吗?如果可以,我应该考虑哪个方向。我从 sparklyr 阅读了很多文档,但似乎没有多大帮助,因为那里提供的示例非常简单。
【问题讨论】:
-
一秒钟的谷歌搜索将为您指明前进的方向。你已经尝试了什么?为什么它不起作用?
-
@PierreGramme 你有什么建议吗?我知道我以非常模糊的方式提出了上一个问题,我们可以使用 spark_apply 函数并行执行回归问题,但我真正的问题是我编辑过的问题。对造成的误解深表歉意。
标签: r apache-spark parallel-processing sparkr sparklyr