execute_parallel: Execute f in parallel partitioned by partition_column.

View source: R/partition_tables.R

execute_parallelR Documentation

Execute f in parallel partitioned by partition_column.

Description

Execute f in parallel partitioned by partition_column, see partition_tables for details.

Usage

execute_parallel(
  tables,
  f,
  partition_column,
  ...,
  cl = NULL,
  debug = FALSE,
  env = parent.frame()
)

Arguments

tables

named map of tables to use.

f

function to apply to each tableset signature is function takes a single argument that is a named list of data.frames.

partition_column

character name of column to partition on

...

force later arguments to bind by name.

cl

parallel cluster.

debug

logical if TRUE use lapply instead of parallel::clusterApplyLB.

env

environment to look for values in.

Value

list of f evaluations.

See Also

partition_tables

Examples


if(requireNamespace("parallel", quietly = TRUE)) {
  cl <- parallel::makeCluster(2)

  d <- data.frame(x = 1:5, g = c(1, 1, 2, 2 ,2))
  f <- function(dl) {
    d <- dl$d
    d$s <- sqrt(d$x)
    d
  }
  r <- execute_parallel(list(d = d), f,
                        partition_column = "g",
                        cl = cl) %.>%
    do.call(rbind, .) %.>%
    print(.)

  parallel::stopCluster(cl)
}


wrapr documentation built on Aug. 20, 2023, 1:08 a.m.