說明:
計算 SparkDataFrame 的數值列的近似分位數。該算法的結果具有以下確定性界限:如果 SparkDataFrame 有 N 個元素,並且如果我們以概率 p 請求分位數直到錯誤 err,那麽該算法將從 SparkDataFrame 返回一個樣本 x,因此 *exact* rank x 接近 (p * N)。更準確地說, floor((p - err) * N) <= rank(x) <= ceil((p + err) * N)。此方法實現了Greenwald-Khanna 算法的變體(具有一些速度優化)。該算法首次出現在 Greenwald 和 Khanna 的 [[https://doi.org/10.1145/375663.375670 分位數摘要的空間高效在線計算]] 中。請注意,在計算之前,數值列中的 NA 值將被忽略。對於僅包含 NA 值的列,將返回一個空列表。
用法:
## S4 method for signature 'SparkDataFrame,character,numeric,numeric'
approxQuantile(x, cols, probabilities, relativeError)
參數:
x
一個 SparkDataFrame。cols
單個列名,或多個列的名稱列表。probabilities
分位數概率列表。每個數字必須屬於 [0, 1]。例如 0 是最小值,0.5 是中值,1 是最大值。relativeError
要達到的相對目標精度 (>= 0)。如果設置為零,則計算精確的分位數,這可能非常昂貴。請注意,接受大於 1 的值,但給出與 1 相同的結果。
返回:
給定概率的近似分位數。如果輸入是單個列名,則輸出是該列中的近似分位數列表;如果輸入是多個列名,則輸出應該是一個列表,其中的每個元素都是一個數值列表,表示對應列中的近似分位數。
注意:
自 2.0.0 起的大約分位數
例子:
df <- read.json("/path/to/file.json")
quantiles <- approxQuantile(df, "key", c(0.5, 0.8), 0.0)
相關用法
- R SparkR alias用法及代碼示例
- R SparkR arrange用法及代碼示例
- R SparkR avg用法及代碼示例
- R SparkR as.data.frame用法及代碼示例
- R SparkR awaitTermination用法及代碼示例
- R SparkR attach用法及代碼示例
- R matrix轉list用法及代碼示例
- R SparkR freqItems用法及代碼示例
- R SparkR intersectAll用法及代碼示例
- R SparkR spark.decisionTree用法及代碼示例
- R SparkR sparkR.callJMethod用法及代碼示例
- R SparkR sample用法及代碼示例
- R SparkR glm用法及代碼示例
- R SparkR randomSplit用法及代碼示例
- R SparkR describe用法及代碼示例
- R SparkR withColumn用法及代碼示例
- R SparkR read.stream用法及代碼示例
- R SparkR join用法及代碼示例
- R SparkR rbind用法及代碼示例
- R SparkR windowPartitionBy用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 Calculates the approximate quantiles of numerical columns of a SparkDataFrame。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。