如何将 RDD[DataFrame] 中的所有数据帧合并到一个数据帧中,而无需在 Spark 中使用 scala 进行



val result 是一个 spark DataFram,其列是 [uid: Int, vector: Vector]。 但是推荐的类型是RDD[数据帧],如何将推荐中的所有结果映射到数据帧?

val recomRes = result.rdd.map(row => {
val uid = row.apply(0)
val vec = row.getAs[Vector](1)
brp
.approxNearestNeighbors(vectors, vec, 5)
.withColumn("uid", lit(uid))
.select("uid", "aid", "distCol")
}

我尝试过循环来处理,但非常非常慢。

在 map 之后使用 toDF(( 方法。

您需要导入sqlContext.implicits._

最新更新