【问题标题】:Using values of two RDD to generate a new RDD使用两个 RDD 的值生成一个新的 RDD
【发布时间】:2015-10-21 18:28:14
【问题描述】:

我有一个文本文件,每行有 2 个整数值,用空格分隔

假设我有两个 RDD。一个具有一对值 (x,y),其中 x 和 y 是 2 个整数值。另一个 RDD (rdd2 -> (a,b)) 只有一对具有两个整数值 a,b。

rdd1 = textfile.map(lambda line: line.split())
...

我的目标是用 rdd2 中的对应值减去 rdd1 中的每个值

结果看起来像

x1-a,y1-b
x2-a,y2-b
x3-a,y3-b
...

我怎样才能做到这一点

【问题讨论】:

    标签: python scala apache-spark pyspark


    【解决方案1】:

    如果第二个 RDD 只包含一个元组,即值 (a:Int, b:Int) - 这根本没有意义 - 并且 - 表示减法。这应该做的事:

    val res = rdd2.collect()
    val a = res(0)(0)
    val b = res(0)(1)
    val rdd3 = rdd1.map(tuple => (tuple._1 - a, tuple._2 - b) )
    

    【讨论】:

      猜你喜欢
      • 2016-12-16
      • 2016-08-23
      • 2015-06-15
      • 2017-09-29
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      相关资源
      最近更新 更多