Spark 中 RDD 内部的不同列表,而不是整个 RDD
Distinct Lists inside of RDD in Spark, not the whole RDD
我有这样的RDD:[(1,1,2),(2,2,3)]
我想要:[1,2,2,3]
提示:中间步骤:(1,2),(2,3)
我的代码:
suchRDD.flatMap(lambda k:k).distinct()
.. 将产生:
[1,2,3]
这不是我想要的。 (请不要介意不同类型的牙套)
如何减少每个嵌套列表然后展平以获得想要的结果? (请不要列出理解示例,提醒:这是Spark)
完成这一步后suchRDD.flatMap(lambda k:k)
你会得到:
[1,2,2,3]
不可能知道哪个数字来自哪个集合,所以你应该在 flatMap 之前区分元组。为此,您可以使用 Python 中的内置函数 set() 来获取不同的项目。
rdd = sc.parallelize([(1,1,2),(2,2,3)])
rdd.map(set).flatMap(lambda x:x).collect()
我有这样的RDD:[(1,1,2),(2,2,3)]
我想要:[1,2,2,3]
提示:中间步骤:(1,2),(2,3)
我的代码:
suchRDD.flatMap(lambda k:k).distinct()
.. 将产生:
[1,2,3]
这不是我想要的。 (请不要介意不同类型的牙套)
如何减少每个嵌套列表然后展平以获得想要的结果? (请不要列出理解示例,提醒:这是Spark)
完成这一步后suchRDD.flatMap(lambda k:k)
你会得到:
[1,2,2,3]
不可能知道哪个数字来自哪个集合,所以你应该在 flatMap 之前区分元组。为此,您可以使用 Python 中的内置函数 set() 来获取不同的项目。
rdd = sc.parallelize([(1,1,2),(2,2,3)])
rdd.map(set).flatMap(lambda x:x).collect()