本文简要介绍
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。