本文簡要介紹
pyspark.sql.GroupedData.agg
的用法。用法:
GroupedData.agg(*exprs)
Compute 聚合並將結果作為
DataFrame
返回。可用的聚合函數可以是:
內置聚合函數,例如
avg
、max
、min
、sum
、count
使用
pyspark.sql.functions.pandas_udf()
創建的組聚合 pandas UDF注意
組聚合 UDF 不存在部分聚合,即需要完全Shuffle[洗牌]。此外,一個組的所有數據都將加載到內存中,因此如果數據傾斜並且某些組太大而無法放入內存,用戶應該注意潛在的 OOM 風險。
也可以看看
如果
exprs
是從字符串到字符串的單個dict
映射,則鍵是要對其執行聚合的列,值是聚合函數。或者,
exprs
也可以是聚合Column
表達式的列表。版本 1.3.0 中的新函數。
- exprs:dict
從列名(字符串)到聚合函數(字符串)的 dict 映射,或
Column
的列表。
參數:
注意:
內置聚合函數和組聚合 pandas UDF 不能在對該函數的單個調用中混合使用。
例子:
>>> gdf = df.groupBy(df.name) >>> sorted(gdf.agg({"*": "count"}).collect()) [Row(name='Alice', count(1)=1), Row(name='Bob', count(1)=1)]
>>> from pyspark.sql import functions as F >>> sorted(gdf.agg(F.min(df.age)).collect()) [Row(name='Alice', min(age)=2), Row(name='Bob', min(age)=5)]
>>> from pyspark.sql.functions import pandas_udf, PandasUDFType >>> @pandas_udf('int', PandasUDFType.GROUPED_AGG) ... def min_udf(v): ... return v.min() >>> sorted(gdf.agg(min_udf(df.age)).collect()) [Row(name='Alice', min_udf(age)=2), Row(name='Bob', min_udf(age)=5)]
相關用法
- Python pyspark GroupedData.applyInPandas用法及代碼示例
- Python pyspark GroupedData.apply用法及代碼示例
- Python pyspark GroupedData.avg用法及代碼示例
- Python pyspark GroupedData.mean用法及代碼示例
- Python pyspark GroupedData.pivot用法及代碼示例
- Python pyspark GroupedData.max用法及代碼示例
- Python pyspark GroupedData.count用法及代碼示例
- Python pyspark GroupedData.min用法及代碼示例
- Python pyspark GroupedData.sum用法及代碼示例
- Python pyspark GroupBy.mean用法及代碼示例
- Python pyspark GroupBy.head用法及代碼示例
- Python pyspark GroupBy.cumsum用法及代碼示例
- Python pyspark GroupBy.rank用法及代碼示例
- Python pyspark GroupBy.bfill用法及代碼示例
- Python pyspark GroupBy.cummin用法及代碼示例
- Python pyspark GroupBy.cummax用法及代碼示例
- Python pyspark GroupBy.fillna用法及代碼示例
- Python pyspark GroupBy.apply用法及代碼示例
- Python pyspark GroupBy.diff用法及代碼示例
- Python pyspark GroupBy.filter用法及代碼示例
- Python pyspark GroupBy.transform用法及代碼示例
- Python pyspark GroupBy.cumcount用法及代碼示例
- Python pyspark GroupBy.idxmax用法及代碼示例
- Python pyspark GroupBy.shift用法及代碼示例
- Python pyspark GroupBy.idxmin用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.GroupedData.agg。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。