From c818556f2023f6f07d824897106e5db26bbd9066 Mon Sep 17 00:00:00 2001 From: Holden Karau Date: Sun, 21 Jun 2015 17:25:35 -0700 Subject: [PATCH] Add pakages to R --- R/pkg/R/client.R | 8 ++++++-- R/pkg/R/sparkR.R | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/R/pkg/R/client.R b/R/pkg/R/client.R index 1281c41213e32..53d2da1b11e00 100644 --- a/R/pkg/R/client.R +++ b/R/pkg/R/client.R @@ -34,7 +34,7 @@ connectBackend <- function(hostname, port, timeout = 6000) { con } -launchBackend <- function(args, sparkHome, jars, sparkSubmitOpts) { +launchBackend <- function(args, sparkHome, jars, sparkSubmitOpts, packages) { if (.Platform$OS.type == "unix") { sparkSubmitBinName = "spark-submit" } else { @@ -51,7 +51,11 @@ launchBackend <- function(args, sparkHome, jars, sparkSubmitOpts) { jars <- paste("--jars", jars) } - combinedArgs <- paste(jars, sparkSubmitOpts, args, sep = " ") + if (packages != "") { + packages <- paste("--packages", packages) + } + + combinedArgs <- paste(jars, packages, sparkSubmitOpts, args, sep = " ") cat("Launching java with spark-submit command", sparkSubmitBin, combinedArgs, "\n") invisible(system2(sparkSubmitBin, combinedArgs, wait = F)) } diff --git a/R/pkg/R/sparkR.R b/R/pkg/R/sparkR.R index 5ced7c688f98a..f2fa3f44c1f4c 100644 --- a/R/pkg/R/sparkR.R +++ b/R/pkg/R/sparkR.R @@ -81,6 +81,7 @@ sparkR.stop <- function() { #' @param sparkExecutorEnv Named list of environment variables to be used when launching executors. #' @param sparkJars Character string vector of jar files to pass to the worker nodes. #' @param sparkRLibDir The path where R is installed on the worker nodes. +#' @param sparkPackages Character string vector of packages #' @export #' @examples #'\dontrun{ @@ -100,7 +101,8 @@ sparkR.init <- function( sparkEnvir = list(), sparkExecutorEnv = list(), sparkJars = "", - sparkRLibDir = "") { + sparkRLibDir = "", + sparkPackages="") { if (exists(".sparkRjsc", envir = .sparkREnv)) { cat("Re-using existing Spark Context. Please stop SparkR with sparkR.stop() or restart R to create a new Spark Context\n") @@ -129,7 +131,8 @@ sparkR.init <- function( args = path, sparkHome = sparkHome, jars = jars, - sparkSubmitOpts = Sys.getenv("SPARKR_SUBMIT_ARGS", "sparkr-shell")) + sparkSubmitOpts = Sys.getenv("SPARKR_SUBMIT_ARGS", "sparkr-shell"), + sparkPackages = sparkPackages) # wait atmost 100 seconds for JVM to launch wait <- 0.1 for (i in 1:25) {