Pyspark中只有一列的笛卡尔积?

时间:2016-11-10 12:24:38

标签: dataset pyspark rdd cartesian

如问题中所述,我想用一列rdd做笛卡儿。例如:

HTTP Header Manager

我的输出应该是:

pip install numpy

1 个答案:

答案 0 :(得分:0)

您可以创建仅包含第二列rdd2=rdd.map(lambda l: l[1])的新RDD。然后执行这两个RDD的cartesian

rdd.cartesian(rdd2).map(lambda v: (v[0][0],v[0][1],v[1]))

map就在那里,因为cartesian会返回((id1,A),A)之类的行,而map会将其转换为(id1,A,A)