带有 apache 箭头的 Sparklyr R 失败,意外终止:找不到对象 'as_tibble'
Sparklyr R with apache arrow fails, terminated unexpectedly: object 'as_tibble' not found
我正在尝试将 sparklyr 与 arrow to increase performance as seen for example here 一起使用,但是 运行 出错了。
这是一个(希望)可重现的例子:
# Prepare session and data
library(sparklyr)
library(dplyr)
config <- sparklyr::spark_config()
sc <- sparklyr::spark_connect(master = "local", config = config)
mtcars_sp <- dplyr::copy_to(sc, datasets::mtcars, overwrite = TRUE)
使用没有箭头的 sparklyr 效果很好:
if ("arrow" %in% .packages()) detach("package:arrow")
mtcars_sp %>% sparklyr::spark_apply(function(df) df) %>% collect()
但是,将箭头添加到组合中 运行 同样会产生错误:
library(arrow)
mtcars_sp %>% sparklyr::spark_apply(function(df) df) %>% collect()
错误消息似乎不太有用,但查看工作日志我看到:
ERROR sparklyr: RScript (6891) terminated unexpectedly: object 'as_tibble' not found
相关会话信息:
- R 版本 3.6.0,x86_64-redhat-linux-gnu(64 位)
- 软件包:arrow_0.14.1,dplyr_0.8.3,sparklyr_1.0.1
- Spark 版本 2.4.3
sparklyr
有更新版本 1.0.2。看起来有 some changes in that release that are needed to work with arrow
0.14.x. sparklyr
's continuous integration 最新版本 arrow
正在通过。
我正在尝试将 sparklyr 与 arrow to increase performance as seen for example here 一起使用,但是 运行 出错了。
这是一个(希望)可重现的例子:
# Prepare session and data
library(sparklyr)
library(dplyr)
config <- sparklyr::spark_config()
sc <- sparklyr::spark_connect(master = "local", config = config)
mtcars_sp <- dplyr::copy_to(sc, datasets::mtcars, overwrite = TRUE)
使用没有箭头的 sparklyr 效果很好:
if ("arrow" %in% .packages()) detach("package:arrow")
mtcars_sp %>% sparklyr::spark_apply(function(df) df) %>% collect()
但是,将箭头添加到组合中 运行 同样会产生错误:
library(arrow)
mtcars_sp %>% sparklyr::spark_apply(function(df) df) %>% collect()
错误消息似乎不太有用,但查看工作日志我看到:
ERROR sparklyr: RScript (6891) terminated unexpectedly: object 'as_tibble' not found
相关会话信息:
- R 版本 3.6.0,x86_64-redhat-linux-gnu(64 位)
- 软件包:arrow_0.14.1,dplyr_0.8.3,sparklyr_1.0.1
- Spark 版本 2.4.3
sparklyr
有更新版本 1.0.2。看起来有 some changes in that release that are needed to work with arrow
0.14.x. sparklyr
's continuous integration 最新版本 arrow
正在通过。