Apache spark Pyspark收集/分组嵌套数据

Apache spark Pyspark收集/分组嵌套数据,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我正在使用spark 2.4.5中的研究论文元数据示例如下: 我需要在auid上分组,并收集相关的eid,附属机构ID(来自附属机构栏),附属机构城市(我从其他df加入,因为此df是不完整的),以便以后跟踪附属机构城市随时间的变化。所以最后,我可能需要一个auid和一个eid,year,affil\u id,aff\u city。 我尝试了一些事情,但对结果不太满意,所以我在这里请求支持。如果需要,我可以以文本形式发布df示例。这很有效: df.groupBy('auid').agg(func.

我正在使用spark 2.4.5中的研究论文元数据示例如下: 我需要在
auid
上分组,并收集相关的
eid
附属机构ID
(来自附属机构栏),
附属机构城市
(我从其他df加入,因为此df是不完整的),以便以后跟踪附属机构城市随时间的变化。所以最后,我可能需要一个
auid
和一个
eid
year
affil\u id
aff\u city
。 我尝试了一些事情,但对结果不太满意,所以我在这里请求支持。如果需要,我可以以文本形式发布df示例。

这很有效:

df.groupBy('auid').agg(func.collect_set(func.struct('eid', 'Year', 'affiliation.affiliation_organization', 'affiliation.affiliation_city', 'affiliation.afid')).alias('eid_attr_set'))

你能分享你的尝试吗?是的,你应该添加一些文本样本和预期的结果