我想定义一个函数,该函数自身执行RDD的笛卡尔积,并返回带有 DISTINCT 对点的RDD。所以我执行了以下代码-
def get_cartesian(rdd):
return rdd.cartesian(rdd).collect()
其中rdd=sc.parallelize([(1,0),(2,0),(3,0)])
输出为-
[(((1,0),(1,0)),((1,0),(2,0)),((1,0),(3,0)),((2, 0),(1, 0)),(((2,0),(2,0)),((2,0),(3,0)),((3,0),(1,0)),((3 0),(2、0)),((3、0),(3、0))]
我想删除类似的元素,例如((1,0),(1,0)),((2,0),(2,0))和((3,0),(3,0) ),但无法破解该代码。任何帮助将不胜感激。