本文简要介绍
pyspark.sql.functions.aggregate
的用法。用法:
pyspark.sql.functions.aggregate(col, initialValue, merge, finish=None)
将二元运算符应用于初始状态和数组中的所有元素,并将其简化为单个状态。通过应用完成函数将最终状态转换为最终结果。
这两个函数都可以使用
Column
的方法,在pyspark.sql.functions
和 ScalaUserDefinedFunctions
中定义的函数。不支持 PythonUserDefinedFunctions
(SPARK-27052)。版本 3.1.0 中的新函数。
参数:
返回:
例子:
>>> df = spark.createDataFrame([(1, [20.0, 4.0, 2.0, 6.0, 10.0])], ("id", "values")) >>> df.select(aggregate("values", lit(0.0), lambda acc, x: acc + x).alias("sum")).show() +----+ | sum| +----+ |42.0| +----+
>>> def merge(acc, x): ... count = acc.count + 1 ... sum = acc.sum + x ... return struct(count.alias("count"), sum.alias("sum")) >>> df.select( ... aggregate( ... "values", ... struct(lit(0).alias("count"), lit(0.0).alias("sum")), ... merge, ... lambda acc: acc.sum / acc.count, ... ).alias("mean") ... ).show() +----+ |mean| +----+ | 8.4| +----+
相关用法
- Python pyspark arrays_overlap用法及代码示例
- Python pyspark add_months用法及代码示例
- Python pyspark array_distinct用法及代码示例
- Python pyspark array_except用法及代码示例
- Python pyspark array_remove用法及代码示例
- Python pyspark array用法及代码示例
- Python pyspark arrays_zip用法及代码示例
- Python pyspark array_contains用法及代码示例
- Python pyspark array_repeat用法及代码示例
- Python pyspark array_intersect用法及代码示例
- Python pyspark array_union用法及代码示例
- Python pyspark array_position用法及代码示例
- Python pyspark array_to_vector用法及代码示例
- Python pyspark array_max用法及代码示例
- Python pyspark approx_count_distinct用法及代码示例
- Python pyspark assert_true用法及代码示例
- Python pyspark array_sort用法及代码示例
- Python pyspark array_join用法及代码示例
- Python pyspark array_min用法及代码示例
- Python pyspark create_map用法及代码示例
- Python pyspark date_add用法及代码示例
- Python pyspark DataFrame.to_latex用法及代码示例
- Python pyspark DataStreamReader.schema用法及代码示例
- Python pyspark MultiIndex.size用法及代码示例
- Python pyspark Series.asof用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.sql.functions.aggregate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。