aboutsummaryrefslogtreecommitdiff
path: root/R/pkg/inst/worker/worker.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/pkg/inst/worker/worker.R')
-rw-r--r--R/pkg/inst/worker/worker.R9
1 files changed, 8 insertions, 1 deletions
diff --git a/R/pkg/inst/worker/worker.R b/R/pkg/inst/worker/worker.R
index debf018018..cfe41ded20 100644
--- a/R/pkg/inst/worker/worker.R
+++ b/R/pkg/inst/worker/worker.R
@@ -36,7 +36,14 @@ compute <- function(mode, partition, serializer, deserializer, key,
# available since R 3.2.4. So we set the global option here.
oldOpt <- getOption("stringsAsFactors")
options(stringsAsFactors = FALSE)
- inputData <- do.call(rbind.data.frame, inputData)
+
+ # Handle binary data types
+ if ("raw" %in% sapply(inputData[[1]], class)) {
+ inputData <- SparkR:::rbindRaws(inputData)
+ } else {
+ inputData <- do.call(rbind.data.frame, inputData)
+ }
+
options(stringsAsFactors = oldOpt)
names(inputData) <- colNames