如何在没有 for 循环的情况下使用 scala in spark 将 RDD[DataFrame] 中的所有 DataFrame 联合到 DataFrame?
How can I union all the DataFrame in RDD[DataFrame] to a DataFrame without for loop using scala in spark?
val 结果是一个 spark DataFram,它的列是 [uid: Int, vector: Vector]。
但是recomRes的类型是RDD[DataFrame],如何将recomRes中的所有结果union映射到DataFrame?
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")
}
我试过用for循环来处理,但是非常非常慢。
映射后使用toDF()方法。
您需要导入sqlContext.implicits._
val 结果是一个 spark DataFram,它的列是 [uid: Int, vector: Vector]。 但是recomRes的类型是RDD[DataFrame],如何将recomRes中的所有结果union映射到DataFrame?
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")
}
我试过用for循环来处理,但是非常非常慢。
映射后使用toDF()方法。
您需要导入sqlContext.implicits._