You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by clarkfitzg <gi...@git.apache.org> on 2016/08/24 06:21:47 UTC

[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

GitHub user clarkfitzg opened a pull request:

    https://github.com/apache/spark/pull/14783

    SPARK-16785 R dapply doesn't return array or raw columns

    ## What changes were proposed in this pull request?
    
    Fixed bug in `dapplyCollect` by changing the `compute` function of `worker.R` to explicitly handle raw (binary) vectors.
    
    cc @shivaram 
    
    ## How was this patch tested?
    
    Unit tests

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/clarkfitzg/spark SPARK-16785

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/14783.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #14783
    
----
commit f8e19202c7bc7698d52a24f9da0d90baf7f8e034
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-18T02:35:17Z

    test for array and byte columns

commit 13366051459da3533ed873e1ec96e056ac25a3e1
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-18T05:40:18Z

    R createDataFrame.default uses list of dataframes as rows

commit a0e13ffaf0f9ff0a3f3b9f63a819292d4269856e
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-18T23:38:14Z

    test is working now

commit 50152339d0f0fa6fd071483326b6b43cd8c26a3d
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-19T00:37:09Z

    add simple collect() to test

commit d044054da410a94dd97f3321bc0d1ba70c5d5b2d
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-19T01:28:35Z

    document how tests fail

commit 311b55400b2c7787b74ae18d6fe0854dba29eb5d
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-19T02:20:22Z

    identified where patch went wrong

commit 2d2654dff670094b7a97d7be593544f65183cd5a
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-19T02:48:29Z

    back to original code for creating data frame

commit ff1a0d02ea25e134980bf6111ec269f0550b3a80
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-19T07:25:12Z

    first pass modifying worker.R

commit 1e27ef3f458ac6ccc23cccc2f3624c76e7cd4d0b
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-19T07:37:31Z

    no change in error message, reverting

commit 25d0ec12436c7f77b79281c348c04ddac64f2156
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-19T07:42:51Z

    an experiment modifying dapplyCollect directly

commit 77a9822e4cb15c8ee8d48e95597e8e783d2208bb
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-24T01:50:49Z

    dapplyCollect worked, it just nested things

commit 70b0d44b4f5ea556db63d93e413a0cbbf30c76c2
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-24T02:27:30Z

    tests pass!

commit b21a21df80a29e2d32c785ef7551cd2a895be8f1
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-24T02:47:49Z

    put rbind function in utils.R

commit ba87b06f999860f054b25b521258216ec0b264a7
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-24T04:23:09Z

    rename to rbindRaws and put in utils.R

commit 528fa6e4b57a66f413488e15e8d7f15fbe3ab632
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-24T04:40:46Z

    just whitespace

commit e0a3894e7fd00285da85b523ff07957f24bb436e
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-24T05:16:36Z

    syntax error in worker.R

commit 5871257226cc904edac59ec00ca52d5106f84a13
Author: Clark Fitzgerald <cl...@gmail.com>
Date:   2016-08-24T05:32:01Z

    satisfy lintr

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r77764184
  
    --- Diff: R/pkg/inst/tests/testthat/test_utils.R ---
    @@ -183,4 +183,28 @@ test_that("overrideEnvs", {
       expect_equal(config[["config_only"]], "ok")
     })
     
    +test_that("rbindRaws", {
    +
    +  # Mixed Column types
    +  r <- serialize(1:5, connection = NULL)
    +  r1 <- serialize(1, connection = NULL)
    +  r2 <- serialize(letters, connection = NULL)
    +  r3 <- serialize(1:10, connection = NULL)
    +  inputData <- list(list(1L, r1, "a", r), list(2L, r2, "b", r),
    +                    list(3L, r3, "c", r))
    +  expected <- data.frame(V1 = 1:3)
    +  expected$V2 <- list(r1, r2, r3)
    +  expected$V3 <- c("a", "b", "c")
    +  expected$V4 <- list(r, r, r)
    +  result <- rbindRaws(inputData)
    +  expect_equal(expected, result)
    +
    +  # Single binary column
    +  input <- list(list(r1), list(r2), list(r3))
    +  expected <- subset(expected, select = "V2")
    +  result <- setNames(rbindRaws(input), "V2")
    --- End diff --
    
    @shivaram Here's the new test. I made the other ones a bit more general also.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Sorry for the delay @clarkfitzg - The code change looks pretty good to me. I just had one question about mixed type columns. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Merged build finished. Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r77763061
  
    --- Diff: R/pkg/R/utils.R ---
    @@ -697,3 +697,18 @@ is_master_local <- function(master) {
     is_sparkR_shell <- function() {
       grepl(".*shell\\.R$", Sys.getenv("R_PROFILE_USER"), perl = TRUE)
     }
    +
    +# rbind a list of rows with raw (binary) columns
    +#
    +# @param inputData a list of rows, with each row a list
    +# @return data.frame with raw columns as lists
    +rbindRaws <- function(inputData){
    +  row1 <- inputData[[1]]
    +  rawcolumns <- ("raw" == sapply(row1, class))
    +
    +  listmatrix <- do.call(rbind, inputData)
    --- End diff --
    
    Ah I see - the types are inside the `listmatrix`. Thanks @clarkfitzg for clarifying. Let us know once you have added the test for a single column of raw as well.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by sun-rui <gi...@git.apache.org>.
Github user sun-rui commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76005367
  
    --- Diff: 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)
    --- End diff --
    
    No it is not a preferred style in worker.R. It seems that they were some changes left slip under some previous code review. 
    {code}
    suppressPackageStartupMessages(library(SparkR))
    {code}
    should be moved to the front of work.R, and thus SparkR::: can be removed. A lot of "SparkR:::" is annoying.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    I'm presenting something related to this on Thursday- it would be nice to tell the audience this patch made it in. Can I do anything to help this along?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64337 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64337/consoleFull)** for PR 14783 at commit [`84ef4cc`](https://github.com/apache/spark/commit/84ef4cc9a265b9e9a61e75fbbd5b22aa6c767a80).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by felixcheung <gi...@git.apache.org>.
Github user felixcheung commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    @catlain could you please open a JIRA.
    like this, set component to SparkR https://issues.apache.org/jira/browse/SPARK-21068?filter=12333531



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r77763275
  
    --- Diff: R/pkg/R/utils.R ---
    @@ -697,3 +697,18 @@ is_master_local <- function(master) {
     is_sparkR_shell <- function() {
       grepl(".*shell\\.R$", Sys.getenv("R_PROFILE_USER"), perl = TRUE)
     }
    +
    +# rbind a list of rows with raw (binary) columns
    +#
    +# @param inputData a list of rows, with each row a list
    +# @return data.frame with raw columns as lists
    +rbindRaws <- function(inputData){
    +  row1 <- inputData[[1]]
    +  rawcolumns <- ("raw" == sapply(row1, class))
    +
    +  listmatrix <- do.call(rbind, inputData)
    --- End diff --
    
    Since everything in in `inputData` is a list this goes straight to the top of hierarchy- same as if you called `rbind(list1, list2, ...)`.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64737/
    Test FAILed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Merged build finished. Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Merged build finished. Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Not sure why these timings are so bad. Found out today that by using bytes and calling directly into Java's `org.apache.spark.api.r.RRDD` these can be improved by 2 orders of magnitude.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64712/
    Test FAILed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Yes, this is only for a bug fix. @shivaram mentioned in a previous email exchange it would be good to see some performance benchmarks as well.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by felixcheung <gi...@git.apache.org>.
Github user felixcheung commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r77762689
  
    --- Diff: R/pkg/R/utils.R ---
    @@ -697,3 +697,18 @@ is_master_local <- function(master) {
     is_sparkR_shell <- function() {
       grepl(".*shell\\.R$", Sys.getenv("R_PROFILE_USER"), perl = TRUE)
     }
    +
    +# rbind a list of rows with raw (binary) columns
    +#
    +# @param inputData a list of rows, with each row a list
    +# @return data.frame with raw columns as lists
    +rbindRaws <- function(inputData){
    +  row1 <- inputData[[1]]
    +  rawcolumns <- ("raw" == sapply(row1, class))
    +
    +  listmatrix <- do.call(rbind, inputData)
    --- End diff --
    
    I think the correct class is maintained:
    ```
    > sapply(listmatrix, class)
    [1] "integer"   "integer"   "raw"       "raw"       "character" "character"
    > sapply(listmatrix, typeof)
    [1] "integer"   "integer"   "raw"       "raw"       "character" "character"
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64335/
    Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by sun-rui <gi...@git.apache.org>.
Github user sun-rui commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76007826
  
    --- Diff: 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)
    --- End diff --
    
    sure. "SparkR:::" is needed for private functions.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Merged build finished. Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76004770
  
    --- Diff: 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)
    --- End diff --
    
    Running tests locally without it- appears it is necessary here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64756 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64756/consoleFull)** for PR 14783 at commit [`77fa9b4`](https://github.com/apache/spark/commit/77fa9b4bb121455d51b43ba8705d876e2549850c).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Merged build finished. Test FAILed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by catlain <gi...@git.apache.org>.
Github user catlain commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    still have this issue when input data is a array column with different length each vector, like:
    
    ```
    test1
    
                   key              value
    1 4dda7d68a202e9e3              1595297780
    2  4e08f349deb7392              641991337
    3 4e105531747ee00b              374773009
    4 4f1d5ef7fdb4620a              2570136926
    5 4f63a71e6dde04cd              2117602722
    6 4fa2f96b689624fc              3489692062, 1344510747, 1095592237, 424510360, 3211239587
    
    sparkR.stop()
    sc <- sparkR.init()
    sqlContext <- sparkRSQL.init(sc)
    spark_df = createDataFrame(sqlContext, test1)
    
    # Fails
    dapplyCollect(spark_df, function(x) x)
    
    Caused by: org.apache.spark.SparkException: R computation failed with
     Error in (function (..., deparse.level = 1, make.row.names = TRUE, stringsAsFactors = default.stringsAsFactors())  : 
      invalid list argument: all variables should have the same length
    	at org.apache.spark.api.r.RRunner.compute(RRunner.scala:108)
    	at org.apache.spark.sql.execution.r.MapPartitionsRWrapper.apply(MapPartitionsRWrapper.scala:59)
    	at org.apache.spark.sql.execution.r.MapPartitionsRWrapper.apply(MapPartitionsRWrapper.scala:29)
    	at org.apache.spark.sql.execution.MapPartitionsExec$$anonfun$6.apply(objects.scala:186)
    	at org.apache.spark.sql.execution.MapPartitionsExec$$anonfun$6.apply(objects.scala:183)
    	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:827)
    	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:827)
    	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
    	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:323)
    	at org.apache.spark.rdd.RDD.iterator(RDD.scala:287)
    	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
    	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:323)
    	at org.apache.spark.rdd.RDD.iterator(RDD.scala:287)
    	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
    	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:323)
    	at org.apache.spark.rdd.RDD.iterator(RDD.scala:287)
    	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
    	at org.apache.spark.scheduler.Task.run(Task.scala:99)
    	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	... 1 more
    
    ```
    
    
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76007525
  
    --- Diff: 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)
    --- End diff --
    
    And `rbindRaws` doesn't need to be exported.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Thanks @clarkfitzg -- I'll take a look at this tomorrow


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by sun-rui <gi...@git.apache.org>.
Github user sun-rui commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    @clarkfitzg, your patch is for bug fix but not for performance improvement, right? If so, since there is no performance regression according to your benchmark, let's focus on the functionality. We can address performance issue in other JIRA issues.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r77760776
  
    --- Diff: R/pkg/R/utils.R ---
    @@ -697,3 +697,18 @@ is_master_local <- function(master) {
     is_sparkR_shell <- function() {
       grepl(".*shell\\.R$", Sys.getenv("R_PROFILE_USER"), perl = TRUE)
     }
    +
    +# rbind a list of rows with raw (binary) columns
    +#
    +# @param inputData a list of rows, with each row a list
    +# @return data.frame with raw columns as lists
    +rbindRaws <- function(inputData){
    +  row1 <- inputData[[1]]
    +  rawcolumns <- ("raw" == sapply(row1, class))
    +
    +  listmatrix <- do.call(rbind, inputData)
    --- End diff --
    
    ```
    > b = serialize(1:10, NULL)
    > inputData = list(list(1L, b, 'a'), list(2L, b, 'b'))  # Mixed data types
    > listmatrix <- do.call(rbind, inputData)
    > listmatrix
         [,1] [,2]   [,3]
    [1,] 1    Raw,62 "a"
    [2,] 2    Raw,62 "b"
    > class(listmatrix)
    [1] "matrix"
    > typeof(listmatrix)
    [1] "list"
    > is.character(listmatrix)
    [1] FALSE
    ```
    
    A little unusual- it's a list matrix. Hence the name. Which docs are you referring to?
    
    The test that's in here now does test for mixed columns, but it doesn't test for a single column of raws. I'll add that now.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #65027 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/65027/consoleFull)** for PR 14783 at commit [`91d69be`](https://github.com/apache/spark/commit/91d69be8ed0ff133a1a3f7f304fd6e366d46bca5).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64737 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64737/consoleFull)** for PR 14783 at commit [`77fa9b4`](https://github.com/apache/spark/commit/77fa9b4bb121455d51b43ba8705d876e2549850c).
     * This patch **fails SparkR unit tests**.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Sorry I think this was a break that I just fixed in #14904 
    
    Jenkins, retest this please. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    @sun-rui Any other comments ?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by sun-rui <gi...@git.apache.org>.
Github user sun-rui commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76000918
  
    --- Diff: R/pkg/R/SQLContext.R ---
    @@ -183,6 +183,8 @@ getDefaultSqlSource <- function() {
     # TODO(davies): support sampling and infer type from NA
     createDataFrame.default <- function(data, schema = NULL, samplingRatio = 1.0) {
       sparkSession <- getSparkSession()
    +
    +  # Convert dataframes into a list of rows. Each row is a list
    --- End diff --
    
    how about " Convert a dataframe"?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64335 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64335/consoleFull)** for PR 14783 at commit [`5871257`](https://github.com/apache/spark/commit/5871257226cc904edac59ec00ca52d5106f84a13).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76007311
  
    --- Diff: 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)
    --- End diff --
    
    When I remove `SparkR:::` and run the tests locally I see error with `rbindRaws not found`. 
    
    So it looks like the `SparkR:::` needs to be there to access private functions in SparkR from the worker node.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Tried some more benchmarks today. Didn't see any difference in speed before / after patch. Observing the processes as they run I see the vast majority of time spent in the local R process, while just a couple seconds in the actual parallel evaluation of the functions.
    
    ![image](https://cloud.githubusercontent.com/assets/5356122/18046077/1b33331c-6e11-11e6-9128-de1e3e7870b2.png)



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64756 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64756/consoleFull)** for PR 14783 at commit [`77fa9b4`](https://github.com/apache/spark/commit/77fa9b4bb121455d51b43ba8705d876e2549850c).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r77757807
  
    --- Diff: R/pkg/R/utils.R ---
    @@ -697,3 +697,18 @@ is_master_local <- function(master) {
     is_sparkR_shell <- function() {
       grepl(".*shell\\.R$", Sys.getenv("R_PROFILE_USER"), perl = TRUE)
     }
    +
    +# rbind a list of rows with raw (binary) columns
    +#
    +# @param inputData a list of rows, with each row a list
    +# @return data.frame with raw columns as lists
    +rbindRaws <- function(inputData){
    +  row1 <- inputData[[1]]
    +  rawcolumns <- ("raw" == sapply(row1, class))
    +
    +  listmatrix <- do.call(rbind, inputData)
    --- End diff --
    
    Do you know what happens if we have a mixed set of columns here ? i.e. say one column with "raw", one with "integer" and one with "character" -- From reading some docs it looks like everything is converted to create a `character` matrix when we use `rbind`. 
    
    I think we have two choices if thats the case 
    (a) we apply the type conversions after `rbind` 
    (b) we only call this method when all columns are `raw`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by felixcheung <gi...@git.apache.org>.
Github user felixcheung commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    should we have a test against DataFrame with binary column?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Jenkins, ok to test


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    @shivaram what do you think?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Jenkins, retest this please


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Thanks for the update. LGTM. Merging this to master and branch-2.0


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by sun-rui <gi...@git.apache.org>.
Github user sun-rui commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76000970
  
    --- Diff: 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)
    --- End diff --
    
    same as above. SparkR::: is not needed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by sun-rui <gi...@git.apache.org>.
Github user sun-rui commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76000958
  
    --- Diff: R/pkg/inst/tests/testthat/test_utils.R ---
    @@ -183,4 +183,13 @@ test_that("overrideEnvs", {
       expect_equal(config[["config_only"]], "ok")
     })
     
    +test_that("rbindRaws", {
    +  r <- serialize(1, connection = NULL)
    +  inputData <- list(list(1L, r), list(2L, r), list(3L, r))
    +  expected <- data.frame(V1 = 1:3)
    +  expected$V2 <- list(r, r, r)
    +  result <- SparkR:::rbindRaws(inputData)
    --- End diff --
    
    SparkR::: is not needed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by felixcheung <gi...@git.apache.org>.
Github user felixcheung commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    LGTM


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Merged build finished. Test FAILed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r76004521
  
    --- Diff: 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)
    --- End diff --
    
    True, but looking through the rest of `worker.R` it seems that using `:::` is the convention in this file?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64337 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64337/consoleFull)** for PR 14783 at commit [`84ef4cc`](https://github.com/apache/spark/commit/84ef4cc9a265b9e9a61e75fbbd5b22aa6c767a80).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64756/
    Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #65027 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/65027/consoleFull)** for PR 14783 at commit [`91d69be`](https://github.com/apache/spark/commit/91d69be8ed0ff133a1a3f7f304fd6e366d46bca5).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64712 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64712/consoleFull)** for PR 14783 at commit [`0c2a215`](https://github.com/apache/spark/commit/0c2a2151cfc0902772711cc8fa22206c6e71348f).
     * This patch **fails R style tests**.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Can one of the admins verify this patch?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65027/
    Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64335 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64335/consoleFull)** for PR 14783 at commit [`5871257`](https://github.com/apache/spark/commit/5871257226cc904edac59ec00ca52d5106f84a13).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    This change doesn't appear to make any difference in speed.
    
    ```
    # Wed Aug 24 14:12:12 KST 2016
    # Benchmarking performance before and after dapplyCollect patch
    
    # Downloaded data here:
    # https://s3-us-west-2.amazonaws.com/sparkr-data/nycflights13.csv
    
    library(microbenchmark)
    
    sparkR.session()
    
    df <- read.csv("~/data/nycflights13.csv")
    
    sdf <- createDataFrame(df)
    
    # BEFORE: 7.27 seconds
    # AFTER: 7.20 seconds
    # The patch shouldn't change this at all
    microbenchmark({sdf <- createDataFrame(df)}, times=1)
    
    # BEFORE: 502 seconds
    # AFTER: 508 seconds
    microbenchmark({
        df2 <- dapplyCollect(sdf, function(x) x)
    }, times=1)
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by shivaram <gi...@git.apache.org>.
Github user shivaram commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14783#discussion_r77762250
  
    --- Diff: R/pkg/R/utils.R ---
    @@ -697,3 +697,18 @@ is_master_local <- function(master) {
     is_sparkR_shell <- function() {
       grepl(".*shell\\.R$", Sys.getenv("R_PROFILE_USER"), perl = TRUE)
     }
    +
    +# rbind a list of rows with raw (binary) columns
    +#
    +# @param inputData a list of rows, with each row a list
    +# @return data.frame with raw columns as lists
    +rbindRaws <- function(inputData){
    +  row1 <- inputData[[1]]
    +  rawcolumns <- ("raw" == sapply(row1, class))
    +
    +  listmatrix <- do.call(rbind, inputData)
    --- End diff --
    
    I was looking at https://stat.ethz.ch/R-manual/R-devel/library/base/html/cbind.html specifically the section `Value` which says
    
    ```
    The type of a matrix result determined from the highest type of any of the inputs in the hierarchy raw < logical < integer < double < complex < character < list .
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    My pleasure. Let me know if / when I should squash these commits or rebase.
    
    Working on some before and after benchmarks now.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by catlain <gi...@git.apache.org>.
Github user catlain commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    done
    [jira](https://issues.apache.org/jira/browse/SPARK-16785)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #14783: SPARK-16785 R dapply doesn't return array or raw ...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/spark/pull/14783


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by clarkfitzg <gi...@git.apache.org>.
Github user clarkfitzg commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    This patch only handled the raw columns, not the vector / array value columns. So maybe that original JIRA should still be open, or create another one specific to this.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64712 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64712/consoleFull)** for PR 14783 at commit [`0c2a215`](https://github.com/apache/spark/commit/0c2a2151cfc0902772711cc8fa22206c6e71348f).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64337/
    Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #14783: SPARK-16785 R dapply doesn't return array or raw columns

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/14783
  
    **[Test build #64737 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/64737/consoleFull)** for PR 14783 at commit [`77fa9b4`](https://github.com/apache/spark/commit/77fa9b4bb121455d51b43ba8705d876e2549850c).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org