向RDD添加常量

时间:2015-03-04 10:40:09

标签: scala apache-spark rdd

我有一个非常愚蠢的问题,我知道RDD是不可变的,但有没有办法可以在RDD中添加一列常量?

更具体地说,我有一个RDD的RDD [a:String,b:String],我希望在它之后添加一个1的列,这样我就有了RDD的RDD [a:Stirng,b:String,c :INT]。

原因是我想使用reduceByKey函数来处理这些字符串,并且任意Int(将不断更新)将有助于减少函数。

2 个答案:

答案 0 :(得分:4)

Scala中的解决方案是简单地使用地图

rdd.map( t => (t._1, t._2, 1))

或者

rdd.map{ case (a, b) => (a, b, 1)}

答案 1 :(得分:3)

您可以使用map函数轻松完成此操作,这是Python中的一个示例:

rdd.map(lambda (a,b): (a,b,1))