基于键的DF上的pySpark COGROUP操作

基于键的DF上的pySpark COGROUP操作,pyspark,Pyspark,我想对两个关系A和B分别使用A_键和B_键执行coGroup操作 我尝试通过对单个关系执行groupBy操作,然后连接它们来实现这一点,但我发现在PySpark api文档中的PySparkDF的情况下,您无法对分组数据执行连接操作 我与20多个字段有关系,关键不是关系的第一个字段。因此,为了应用cogroup函数,我需要将键设置为第一列。如果我不知道模式,但只知道键名,怎么做如果你知道所有其他字段名,你可以做,DF.select('key column',other columns…) cog

我想对两个关系
A
B
分别使用
A_键和
B_键执行
coGroup
操作


我尝试通过对单个关系执行
groupBy
操作,然后连接它们来实现这一点,但我发现在PySpark api文档中的
PySpark
DF的情况下,您无法对分组数据执行连接操作


我与20多个字段有关系,关键不是关系的第一个字段。因此,为了应用
cogroup
函数,我需要将键设置为第一列。如果我不知道模式,但只知道键名,怎么做如果你知道所有其他字段名,你可以做,DF.select('key column',other columns…)
cogroup(other, numPartitions=None)
For each key k in self or other, return a resulting RDD that contains a tuple with the list of values for that key in self as well as other.
>>> x = sc.parallelize([("a", 1), ("b", 4)])
>>> y = sc.parallelize([("a", 2)])
>>> [(x, tuple(map(list, y))) for x, y in sorted(list(x.cogroup(y).collect()))]
[('a', ([1], [2])), ('b', ([4], []))]