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