Python 如何在并行groupby操作后在spark中分别处理每个组

Python 如何在并行groupby操作后在spark中分别处理每个组,python,group-by,pandas-groupby,grouping,pyspark-dataframes,Python,Group By,Pandas Groupby,Grouping,Pyspark Dataframes,我正试图从pyspark中的python代码实现以下逻辑: 我想知道如何在spark中有效地实现这一点 我有一个名为data的pandas数据框架,我按group\u id\u列对数据进行分组,并将分组列、pandas的groupby对象添加到列表中 args = [] grouped_data = data.groupby(group_id_columns) for group_id, data in grouped_data: args.append((group_id_column

我正试图从pyspark中的python代码实现以下逻辑: 我想知道如何在spark中有效地实现这一点

我有一个名为
data
的pandas数据框架,我按group\u id\u列对数据进行分组,并将分组列、pandas的groupby对象添加到列表中

args = []
grouped_data = data.groupby(group_id_columns)
for group_id, data in grouped_data:
    args.append((group_id_columns, group_id, data))
该列表稍后将在名为
create_group_features
的函数中处理,该函数将从args中获取每个groupby对象以及一些其他变量(config是dict对象,common_features是dataframe对象,features_path是list对象),并在各个阶段对其进行转换,将结果写入文件,并将生成的文件路径作为数据集路径发送。这将在多处理块中完成

pool = mp.Pool(n_cpus)
dataset_paths = pool.map(partial(
    create_group_features, self.config, self.common_features, features_path=features_path), args)
pool.close()
pool.join()
我对实施的思考:
通过从
group\u id\u列
组合中提取不同元素,获取
group\u id
值,并运行数据帧的筛选操作,以获取各自的组数据,并将其传递给
create\u group\u features
函数

此实施是否高效?
在pyspark中并行处理每个组的有效方法是什么