高的
sparklyr
在过去的几个月中,朋友得到了一些重要的更新。这是一些突出的观点:
spark_apply()
现在正在Databricks Connect V2上工作sparkxgb
它恢复了生活火花2.3及向下支撑
pysparklyr 0.1.4
spark_apply()
现在正在Databricks Connect V2上工作。延迟 pysparklyr
使用该版本 rpy2
贝森图书馆是集成的骨干。
Databricks Connect V2取决于Spark Connect。目前,Python函数支持用户知识(UDFS),但不使用R。 rpy2
这个限制移动。如图所示, sparklyr
R符号将发送到本地安装 rpy2
,进而将其发送到点燃。然后 rpy2
将安装远程数据链球群集RunR。

图1:r rpy2的r符号
对于这种方法来说,这是一个很大的优势,就是 rpy2
支持箭头。实际上,在组合Spark,Arrow和R时应使用推荐的Python库。这意味着这三个环境之间的数据交换将更快!
就像在其原始实施中一样,该计划推论业务,并且与原始实施一样,它具有绩效成本。但是与原始内容不同,此实现将返回“列”的规格,您可以在下次运行呼叫时使用。
spark_apply(
tbl_mtcars,
nrow,
group_by = "am"
)
#> To increase performance, use the following schema:
#> columns = "am double, x long"
#> # Source: table<`sparklyr_tmp_table_b84460ea_b1d3_471b_9cef_b13f339819b6`> [2 x 2]
#> # Database: spark_connection
#> am x
#>
#> 1 0 19
#> 2 1 13
这里有一篇有关此新可能性的完整文章:运行R可以在Databricks Connect中提供
sparkxgb
这 sparkxgb
这是一个扩展 sparklyr
。它允许与XGBost集成。当前的Cran版本不支持最新的XGBost版本。该限制最近引发了完整的更新 sparkxgb
。以下是目前正在发布包装开发的改进的摘要:
这
xgboost_classifier()
和xgboost_regressor()
经纪人不再通过工作。它被XGBOST忽略了,如果使用的话会导致错误。在R的功能中,调解员将保留以供向后兼容,但是如果不留下,它们将产生一个有用的错误NULL
:更新了Spark会话期间使用的JVM版本。 XGBost4J-Spark现在使用2.0.3,而不是0.8.1。这使我们可以访问XGBoost中的最新Spark代码。
使用来自接下来的R的忽略函数的更新代码也停止使用未指定的软件包作为依赖关系(
forge
)。这导致消除安装模型时发生的所有警告。包装测试的主要改进。单位测试已更新和扩展,道路
sparkxgb
SPARK会话自动更新,并停止测试会话,并恢复连续的集成测试。这将确保包装前进的有效性。
remotes::install_github("rstudio/sparkxgb")
library(sparkxgb)
library(sparklyr)
sc <- spark_connect(master = "local")
iris_tbl <- copy_to(sc, iris)
xgb_model <- xgboost_classifier(
iris_tbl,
Species ~ .,
num_class = 3,
num_round = 50,
max_depth = 4
)
xgb_model %>%
ml_predict(iris_tbl) %>%
select(Species, predicted_label, starts_with("probability_")) %>%
dplyr::glimpse()
#> Rows: ??
#> Columns: 5
#> Database: spark_connection
#> $ Species "setosa", "setosa", "setosa", "setosa", "setosa…
#> $ predicted_label "setosa", "setosa", "setosa", "setosa", "setosa…
#> $ probability_setosa 0.9971547, 0.9948581, 0.9968392, 0.9968392, 0.9…
#> $ probability_versicolor 0.002097376, 0.003301427, 0.002284616, 0.002284…
#> $ probability_virginica 0.0007479066, 0.0018403779, 0.0008762418, 0.000…
Sparkleer 1.8.5
新版本的 sparklyr
他没有面对改进的用户。但是在内部,我跨越了一个重要的里程碑。火花支撑2.3及以下有效。 Scala不再需要这样做的一部分。根据Spark版本的政策,我在这里发现,Spark 2.3是2018年的“生命终结”。
这是制定巨大的巨大代码的更大努力的一部分
sparklyr
维护它的维护更容易,从而降低了失败的风险。作为同一努力的一部分,上包装的数量 sparklyr
这取决于减少。这是通过起重机的多个版本发生的,在此最新版本中 tibble
, 和 rappdirs
它不再导入 sparklyr
。
重用
文本和数字在4.0的传输CC链下许可。与其他来源重复使用的数字不属于此许可证,可以通过插图中的注释来识别:“ …”。
引用
为了支持,请引用这项工作
Ruiz (2024, April 22). Posit AI Blog: News from the sparkly-verse. Retrieved from https://blogs.rstudio.com/tensorflow/posts/2024-04-22-sparklyr-updates/
Bibtex引号
@misc{sparklyr-updates-q1-2024, author = {Ruiz, Edgar}, title = {Posit AI Blog: News from the sparkly-verse}, url = {https://blogs.rstudio.com/tensorflow/posts/2024-04-22-sparklyr-updates/}, year = {2024} }