我的数据框看起来像这样------+-------+ |cat_id|counter|+------+-------+| 12| 61060|| 1| 542118|| 13| 164700|| 3| 406622|| 5| 54902|| 10| 118281|| 11| 13658|| 14| 72229|| 2| 131206|+------+-------+获取上述数据框的查询是: grouped_data = dataframe.groupBy("cat_id").agg(count("*").alias("counter"))现在我需要读取不同 cat_id 的值以将其保存在另一个数据库中。我完成它的方法是在我的 id 上使用 for 循环for cat_id in cat_ids_map: statsCount = grouped_data.select("counter").filter("cat_id = " + cat_id).collect()[0].counter但我认为可以有更好的方法来读取计数器而无需 for 循环。任何的意见都将会有帮助!!!
1 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
如果要遍历整个数据框,通常使用.foreach函数。
所以你会这样做:
grouped_data.foreach(lambda x: f(x))
其中f是您的函数,它将对数据框中的每个元素执行您想要的任何操作
添加回答
举报
0/150
提交
取消