不幸的是,我们仍然需要使用spark 1.0.0,并且需要使用RDDs。我有一个从CSV文件创建的RDD。
val serialRDD = sc.textFile(path)如果我们打印RDD的每一行,我们会得到如下内容(一个id和一个字符串):
1929 abc
2384 def
8753 ghi
3893 jkl我希望能够添加另一列为另一个id,它将是一个类似于“串行”的字符串,其中排名将为1、2、3等,并自动递增1。
产出应类似于:
1929 abc SERIAL-1
2384 def SERIAL-2
8753 ghi SERIAL-3
3893 jkl SERIAL-4如何使用RDD完成这一任务?
发布于 2016-10-19 14:34:04
您可以使用zipWithIndex和map来完成它:
serialRDD.zipWithIndex.map{ case (r, i) => (r._1, r._2, s"SERIAL-${i+1}") }我使用字符串插值来获得SERIAL-X字符串。我还增加了索引,因为zipWithIndex从索引0开始。
https://stackoverflow.com/questions/40134022
复制相似问题