当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R SparkR spark.lapply用法及代码示例


说明:

在元素列表上运行一个函数,使用 Spark 分配计算。以类似于 doParallel 或 lapply 到列表元素的方式应用函数。计算是使用 Spark 分布的。它在概念上与以下代码相同: lapply(list, func)

用法:

spark.lapply(list, func)

参数:

  • list 元素列表
  • func 一个接受一个参数的函数。

细节:

已知限制:

  • 变量范围和捕获:与 R 对变量解析的丰富支持相比,SparkR 的分布式特性限制了变量在运行时解析的方式。通过词法作用域可用的所有变量都嵌入在函数的闭包中,并在函数内作为只读变量使用。环境变量应该存储在函数外部的临时变量中,而不是在函数内部直接访问。

  • 加载外部包:为了使用一个包,你需要在闭包内加载它。例如,如果您依赖 MASS 模块,那么您将如何使用它:

        train <- function(hyperparam) {
          library(MASS)
          lm.ridge("y ~ x+z", data, lambda=hyperparam)
          model
        }
      

返回:

结果列表(由函数确定的确切类型)

注意:

spark.lapply 自 2.0.0 起

例子:

sparkR.session()
doubled <- spark.lapply(1:10, function(x) {2 * x})

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Run a function over a list of elements, distributing the computations with Spark。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。