python—在分组的sparkDataframe中循环每一行并解析函数

8gsdolmq  于 2021-07-14  发布在  Spark
关注(0)|答案(0)|浏览(250)

我有一个spark数据框 df 看起来是这样的:

+----+------+------+
|user| value|number|
+----+------+------+
| A  | 25   |    13|
| A  | 6    |    14|
| A  | 2    |    11|
| A  | 32   |    17|
| B  | 22   |    19|
| B  | 42   |    10|
| B  | 43   |    32|
| C  | 33   |    12|
| C  | 90   |    21|
| C  | 12   |    32|
| C  | 22   |    32|
| C  | 64   |    10|
| D  | 32   |    23|
| D  | 62   |    11|
| D  | 32   |    13|
| E  | 63   |    17|
+----+------+------+

我想把这些人分组 dfuser 然后遍历 user 将组解析为我定义的两个函数,如下所示:

def first_function(df):
   ... # operation on df
      return df

   def second_function(df):
   ... # operation on df
      return df

   def third_function(df):
    ... # operation on df
   return df

基于这个答案,我知道我可以提取一个独特的用户列表,如下所示:

from pyspark.sql import functions as F

users = [user[0] for user in df.select("user").distinct().collect()]
users_list = [df.filter(F.col('user')==user) for user in users]

但我不清楚我怎么能告诉我们这些 user_list 重复我的原稿 dfuser 分组,这样我就可以将它们输入到我的函数中。最好的方法是什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题