pyspark collect

编程入门 行业动态 更新时间:2024-10-20 05:28:49
本文介绍了pyspark collect_set 或 collect_list 与 groupby的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

如何在 groupby 之后在数据帧上使用 collect_set 或 collect_list.例如:df.groupby('key').collect_set('values').我收到一个错误:AttributeError: 'GroupedData' object has no attribute 'collect_set'

How can I use collect_set or collect_list on a dataframe after groupby. for example: df.groupby('key').collect_set('values'). I get an error: AttributeError: 'GroupedData' object has no attribute 'collect_set'

推荐答案

你需要使用 agg.示例:

You need to use agg. Example:

from pyspark import SparkContext from pyspark.sql import HiveContext from pyspark.sql import functions as F sc = SparkContext("local") sqlContext = HiveContext(sc) df = sqlContext.createDataFrame([ ("a", None, None), ("a", "code1", None), ("a", "code2", "name2"), ], ["id", "code", "name"]) df.show() +---+-----+-----+ | id| code| name| +---+-----+-----+ | a| null| null| | a|code1| null| | a|code2|name2| +---+-----+-----+

注意在上面你必须创建一个 HiveContext.请参阅 stackoverflow/a/35529093/690430 以了解如何处理不同的 Spark 版本.

Note in the above you have to create a HiveContext. See stackoverflow/a/35529093/690430 for dealing with different Spark versions.

(df .groupby("id") .agg(F.collect_set("code"), F.collect_list("name")) .show()) +---+-----------------+------------------+ | id|collect_set(code)|collect_list(name)| +---+-----------------+------------------+ | a| [code1, code2]| [name2]| +---+-----------------+------------------+

更多推荐

pyspark collect

本文发布于:2023-11-22 05:43:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1616188.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:pyspark   collect

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!