【发布时间】:2015-12-16 16:51:57
【问题描述】:
我想在 scala 中合并两个 RDD。我无法将它们中的任何一个存储在内存中,因为它们非常大。
A = {k1->List(A,B,C), k2->List(W,E,Q)}
B = {k1->List(D,E,F), k2->List(E,U,O)}
我怎样才能将A和B联合起来得到
{(A,B,C,D,E,F),(W,E,Q,U,O)}
谢谢, 南希
【问题讨论】:
-
你能写出真正的代码吗?因为
.union完全符合您的要求,我担心您的 RDD 与您描述的不同。 -
我有两个像这样的RDD:
List(String)> 我已经按键排序了。我想做的是两个 RDD 值的列并集。 val a3 = a2.map {case (k,v) => k->v.map{case (ki,vi) => vi}}.sortByKey(true) val a31 = a21.map {case (k,v ) => k->v.map{case (ki,vi) => ki}}.sortByKey(true) a3.union(a31) -
请更新您的问题。
标签: scala apache-spark union rdd