sparklyr 1.6:加权分位数摘要、幂迭代聚类、spark_write_rds() 等

sparklyr 1.6 版本引入了加权分位数摘要、用于支持迭代聚类的 R 接口、spark_write_rds(),以及许多与 dplyr 相关的改进。

来源:RStudio AI博客

Sparklyr 1.6 现已在 CRAN 上推出!

Sparklyr Sparklyr CRAN

要从 CRAN 安装 sparklyr 1.6,请运行

sparklyr

在这篇博文中,我们将重点介绍 sparklyr 1.6 的以下功能和增强功能:

sparklyr

加权分位数摘要

Apache Spark 以支持近似算法而闻名,这些算法以牺牲边际准确度为代价来提高速度和并行性。此类算法对于大规模执行初步数据探索特别有益,因为它们使用户能够在预定义的误差范围内快速查询某些估计统计数据,同时避免精确计算的高成本。一个例子是 Greenwald-Khanna 算法,用于在线计算分位数摘要,如 Greenwald 和 Khanna (2001) 所述。这该算法最初设计用于在大型数据集内对分位数进行有效的 \(\epsilon\)近似,而没有数据点携带不同权重的概念,并且自 Spark 2.0 以来,它的非加权版本已实现为 approxQuantile()。但是,相同的算法可以推广到处理加权输入,正如 sparklyr 用户 @Zhuk66 在本期中提到的那样,该算法的加权版本使其成为一个有用的 sparklyr 功能。

Apache Spark Greenwald 和 Khanna (2001) Greenwald 和 Khanna 2001 \(\epsilon\) 没有 approxQuantile() approxQuantile() sparklyr @Zhuk66 这个问题 加权版本 sparklyr

为了正确解释加权分位数的含义,我们必须明确每个数据点的权重代表什么。例如,如果我们有一个观测序列 \((1, 1, 1, 1, 0, 2, -1, -1)\),并且想要近似所有数据点的中位数,那么我们有以下两个选项:

\((1, 1, 1, 1, 0, 2, -1, -1)\)
  • 在 Spark 中运行未加权版本的 approxQuantile() 以扫描所有 8 个数据点
  • 在 Spark 中运行未加权版本的 approxQuantile() 以扫描所有 8 个数据点

    approxQuantile() \((1, 0.5), (0, 0.125), (2, 0.125), (-1, 0.25)\) sparklyr qnorm() 分位数函数 (