当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R SparkR repartitionByRange用法及代码示例


说明:

可以使用以下按范围重新分区的选项:

  • 1. 将由给定列划分的新 SparkDataFrame 范围返回到 numPartitions

  • 2. 返回由给定列分区的新 SparkDataFrame 范围,使用 spark.sql.shuffle.partitions 作为分区数。

必须至少指定一个partition-by 表达式。如果未指定明确的排序顺序,则假定“先升序空值”。

用法:

repartitionByRange(x, ...)

## S4 method for signature 'SparkDataFrame'
repartitionByRange(x, numPartitions = NULL, col = NULL, ...)

参数:

  • x 一个 SparkDataFrame。
  • ... 要在范围分区中使用的附加列。
  • numPartitions 要使用的分区数。
  • col 将执行范围分区的列。

细节:

请注意,由于性能原因,此方法使用抽样来估计范围。因此,输出可能不一致,因为采样可以返回不同的值。样本大小可以由配置控制spark.sql.execution.rangeExchange.sampleSizePerPartition.

注意:

repartitionByRange 自 2.4.0 起

例子:

sparkR.session()
path <- "path/to/file.json"
df <- read.json(path)
newDF <- repartitionByRange(df, col = df$col1, df$col2)
newDF <- repartitionByRange(df, 3L, col = df$col1, df$col2)

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Repartition by range。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。