【发布时间】:2015-07-19 09:37:24
【问题描述】:
有没有一种快速的方法可以从包含 LabeledPoints 的现有 RDD 创建一个新的 RDD,但只修改每一行的标签?
例如,假设我有一个名为 myRDD 的 RDD,并且 myRDD 有如下的 LabeledPoints:
RDD = sc.parallelize([
LabeledPoint(1, [1.0, 2.0, 3.0]),
LabeledPoint(2, [3.0, 4.0, 5.0]),
LabeledPoint(4, [6.0, 7.0, 8.0])])
这表示 RDD 的一个 take(5)。
我想简单地从这个 RDD 创建一个新的 RDD,但我想从每个标签中减去 10。
当我尝试这个时,它失败了:
myRDD = RDD.map(lambda x: x[0].label - 10, x[1].features)
请帮助我指出我在上述尝试中的推理有什么问题。
【问题讨论】:
标签: python apache-spark pyspark apache-spark-mllib