【发布时间】:2021-06-17 02:52:47
【问题描述】:
尝试使用 leftOuterJoin 连接两个不同大小的 RDD。已经使用其他类似的 RDD 进行了管理,但由于某种原因,我现在收到此错误:
type mismatch;
[error] found : org.apache.spark.rdd.RDD[(Int, Int, Double, Double, AnyVal)]
[error] required: org.apache.spark.rdd.RDD[(Int, ?)]
带有指向对象 userScaleBack 的箭头(具有“找到”错误的结构):
val userProdItemScale = itemAverages.leftOuterJoin(userScaleBack)
如您所见,该对象包含元组和 5 个元组,它们的计数分别为 1650 和 80000。最左边元素中的所有值都在两个对象之间共享,因此 ? 值应该只连接到leftOuterJoin 匹配的较大对象中的所有位置。对象的内容如下所示:
userScaleBack
(1053,451,2.7362637362637363,0.011609034023077685,2.2637362637362637)
(466,451,2.7362637362637363,0.052013404418021464,2.2637362637362637)
itemAverages
(1053,3.473684210526316)
(466,3.4390243902439024)
【问题讨论】:
标签: scala apache-spark rdd