當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。