當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。