【发布时间】:2018-06-30 20:22:53
【问题描述】:
我有一组集合,每个集合包含许多项目。我想使用 Spark 检索所有成对的集合和元素,其中减少处理后的每一对将包含两个项目和两个集合 例如:
如果我有这个集合列表
Set A={1,2,3,4 }
Set B={1,2,4,5}
Set C= {2,3,5,6}
映射过程将是:
(A,1)
(A,2)
(A,3)
(B,1)
(B,2)
(B,4)
(B,5)
(C,2)
(C,3)
(C,5)
(C,6)
reduce后的目标结果是:
(A B, 1 2) // since 1 2 exist in both A and B
(A B, 1 4)
(A B, 2 4)
(A C,2 3)
(B C,2 5)
here (A B,1 3) not in the result because 1 3 not exists in B
您能帮我用任何语言(Python、Scala 或 Java)在一个 map 和一个 reduce 函数中解决 Spark 中的这个问题吗?
【问题讨论】:
-
这可能是一个很好的代码高尔夫问题codegolf.stackexchange.com
-
你能分享代码来创建你的rdd而不是python对象吗?
-
实际上,我是新来的火花。我正在寻找任何可以帮助我解决这个问题的算法。感谢您的帮助
标签: apache-spark collections mapreduce set reduce