sparklyr 1.5:更好的 dplyr 接口、更多 sdf_* 函数和基于 RDS 的序列化例程

与之前的所有三个 sparklyr 版本不同,最近发布的 sparklyr 1.5 更注重增强现有的 sparklyr 功能,而不是创建新功能。因此,我们采纳了许多来自 sparklyr 用户的宝贵建议,并在一系列错误修复和改进中成功解决了这些问题。

来源:RStudio AI博客

我们很高兴地宣布 sparklyr 1.5 现已在 CRAN 上可用!

sparklyr sparklyr CRAN

要从 CRAN 安装 sparklyr 1.5,请运行

sparklyr

在这篇博文中,我们将重点介绍 sparklyr 1.5 的以下方面:

sparklyr

更好的 dplyr 界面

sparklyr 1.5 版本中的大部分拉取请求都集中在使 Spark 数据框以与 R 数据框相同的方式与各种 dplyr 动词一起工作。sparklyr 1.5 中解决的与 dplyr 相关的错误和功能请求的完整列表可以在此处找到。

sparklyr dplyr dplyr sparklyr 这里

在本节中,我们将展示 sparklyr 1.5 附带的三个新的 dplyr 功能。

sparklyr

分层抽样

R 数据框上的分层抽样可以通过 dplyr::group_by() 后跟 dplyr::sample_n() 或 dplyr::sample_frac() 的组合来实现,其中 dplyr::group_by() 步骤中指定的分组变量是定义每个层的变量。例如,以下查询将按气缸数对 mtcars 进行分组,并从每个组中返回一个大小为 2 的加权随机样本,不进行替换,并按 mpg 列加权:

dplyr::group_by() dplyr::sample_n() dplyr::sample_frac() dplyr::group_by() mtcars mpg
## # A tibble: 6 x 11## # Groups: cyl [3]## mpg cyl disp hp drat wt qsec vs am gear carb##            ## 1 33.9 4 71.1 65 4.22 1.84 19.9 1 1 4 1## 2 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1## 3 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1## 4 21 6 160 110 3.9 2.62 16.5 0 1 4 4## 5 15.5 8 318 150 2.76 3.52 16.9 0 0 3 2## 6 19.2 8 400 175 3.08 3.84 17.0 0 0 3 2

从 sparklyr 1.5 开始,对于 Spark 3.0 或更高版本的 Spark 数据框也可以执行相同的操作,例如:

sparklyr library(sparklyr) library library ( sparklyr sparklyr ) sc <- spark_connect