Potit AI博客:《光荣经文的新闻》

高的

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。


Potit AI博客:《光荣经文的新闻》

图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}
}

Source link

Similar Posts