【发布时间】:2016-01-14 03:39:43
【问题描述】:
我有以下数据:
val RDDApp = sc.parallelize(List("A", "B", "C"))
val RDDUser = sc.parallelize(List(1, 2, 3))
val RDDInstalled = sc.parallelize(List((1, "A"), (1, "B"), (2, "B"), (2, "C"), (3, "A"))).groupByKey
val RDDCart = RDDUser.cartesian(RDDApp)
我想映射这些数据,以便我有一个带有 (userId, Boolean 如果给用户的字母) 的元组 RDD。我以为我找到了解决方案:
val results = RDDCart.map (entry =>
(entry._1, RDDInstalled.lookup(entry._1).contains(entry._2))
)
如果我打电话给results.first,我会得到org.apache.spark.SparkException: SPARK-5063。我在 Mapping 函数中看到了 Action 的问题,但不知道如何解决它以获得相同的结果。
【问题讨论】:
标签: scala apache-spark rdd