【发布时间】:2016-01-22 22:42:06
【问题描述】:
我要加入两个 RDD。
样本文件1数据:
245216 123422,187,235,742,1635,5600,2782,52,140943
样本文件2数据:
281216 12433,308,454,27862,2693,4578,138812,567,20,716
现在是代码:
rdd1 = sc.textFile("file1").map(_.split("\t")).map(line => (line(0), line(1)))
rdd2 = sc.textFile("file2").map(_.split("\t")).map(line => (line(0), line(1)))
val merged = rdd1.join(rdd2)
o/p 是 k, (v),我想在进行进一步处理时消除值周围的括号。我尝试了一些东西,包括
val merged_no_paren = merged.map { case (k, (v)) => (k, v) }
我也保存结果:
merged_no_paren.map{case x=>s"${x._1}\t${x._2}"}.saveAsTextFile("merged")
很遗憾,结果始终采用以下格式:
100 (1,50,200)
120 (2,25,789)
....
我希望它们为:
100 1,50,200
120 2,25,789
【问题讨论】:
-
给我们 rdd1 和 rdd2 的输入
-
刚刚用该信息更新了问题。
-
你加入什么?
-
这个
join不能工作 - 请发布您实际使用的代码。 -
我已经更新了代码。
标签: scala apache-spark