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


Python pyspark RDD.aggregate用法及代碼示例

本文簡要介紹 pyspark.RDD.aggregate 的用法。

用法:

RDD.aggregate(zeroValue, seqOp, combOp)

使用給定的組合函數和中性“零值”聚合每個分區的元素,然後聚合所有分區的結果。

函數op(t1, t2)允許修改t1並將其作為結果值返回以避免對象分配;但是,它不應該修改 t2

第一個函數 (seqOp) 可以返回與此 RDD 的類型不同的結果類型 U。因此,我們需要一個操作來將 T 合並到 U 中,並且需要一個操作來合並兩個 U

例子

>>> seqOp = (lambda x, y: (x[0] + y, x[1] + 1))
>>> combOp = (lambda x, y: (x[0] + y[0], x[1] + y[1]))
>>> sc.parallelize([1, 2, 3, 4]).aggregate((0, 0), seqOp, combOp)
(10, 4)
>>> sc.parallelize([]).aggregate((0, 0), seqOp, combOp)
(0, 0)

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.RDD.aggregate。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。