You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Jonathan Keane (Jira)" <ji...@apache.org> on 2021/07/06 16:53:00 UTC

[jira] [Created] (ARROW-13262) [R] Support namespacing of function maps?

Jonathan Keane created ARROW-13262:
--------------------------------------

             Summary: [R] Support namespacing of function maps?
                 Key: ARROW-13262
                 URL: https://issues.apache.org/jira/browse/ARROW-13262
             Project: Apache Arrow
          Issue Type: Improvement
          Components: R
            Reporter: Jonathan Keane


With our NSE function map setup, we translate various functions into Arrow equivalents:

{code}
library(arrow)
library(dplyr)

arrow_table <- Table$create(tibble::tibble(
  v = c("A", "B", "C"),
  w = c("a", "b", "c"),
  x = c("d", NA_character_, "f"),
  y = c(NA_character_, "h", "i"),
  z = c(1.1, 2.2, NA)
))

arrow_table %>%
  transmute(str_c(x, y, sep = " ")) %>%
  collect()
#> # A tibble: 3 x 1
#>   `str_c(x, y, sep = " ")`
#>   <chr>                   
#> 1 <NA>                    
#> 2 <NA>                    
#> 3 f i
{code}

Which is great, however if the code that is being used uses the `sringr::` namespace prefix this errors:

{code}
arrow_table %>%
  transmute(stringr::str_c(x, y, sep = " ")) %>%
  collect()
#> Warning: Expression stringr::str_c(x, y, sep = " ") not supported in Arrow;
#> pulling data into R
#> Error: Problem with `mutate()` input `..1`.
#> ℹ `..1 = ..1`.
#> x object 'x' not found
{code}

Should we support this (basically *also* translate {{stringr::str_c()}} to what we have for {{str_c()}})? Or warn/error more clearly what happened if we don't support any namespace prefixed functions? Something else?





--
This message was sent by Atlassian Jira
(v8.3.4#803005)