|
|
1
1
这不能用
考虑我们有密钥的数据集
更糟糕的是,一般情况下的问题是分布式的。考虑一组集合,例如对于每个集合,至少有一个其他集合具有非空交点。在这种情况下,所有值都应该合并到一个“集群”中。
总的来说,如果没有相当严格的限制,这对Spark来说不是一个好问题,并且无法用basic解决
效率低下的解决方案(可能部分解决您的问题)是使用笛卡尔积:
然而,这是低效的,不能解决歧义。 |
|
2
1
我认为,使用Spark SQL的数据集API是可行的(结果是直接翻译了基于RDD的@user9003280解决方案)。
|
|
|
3
0
我在100000行数据帧上尝试了笛卡尔乘积解决方案,它花费了很多时间来处理,所以我决定使用graph GraphFrame ,可以直接在线性时间内计算图的连通分量(根据图的顶点和边的数量)。
最终结果如下:
然后是groupBy(“组件”) 就是这样:) |
|
|
whok mok · 使用reduce()时将字符串转换为Int 8 年前 |
|
|
AVIK DUTTA · Spark map作业异常:对象不可序列化 8 年前 |
|
|
bax · Javascript reduce不断返回未定义的 8 年前 |
|
|
Ossama · 在PIL中调整调整大小的PNG图像的质量 8 年前 |
|
|
RAQ · Scala ReduceLeft的行为 8 年前 |
|
|
Radu Ionescu · 使用接口的Stream reduce操作 8 年前 |
|
Sameer · 是否使用javascript替换某些对象和数组? 8 年前 |