我想分解我的数据集到火车和测试数据集。我第一个文件读入到内存如下所示:火花斯卡拉得到不寻常的地图元素
val ratings = sc.textFile(movieLensdataHome+"/ratings.csv").map { line=>
val fields = line.split(",")
Rating(fields(0).toInt,fields(1).toInt,fields(2).toDouble)
}
然后我选择那些对我的训练集的80%:
val train = ratings.sample(false,.8,1)
是否有一个简单的方法来测试在分布式设置这样, 我想这一点,但失败:
val test = ratings.filter(!_.equals(train.map(_)))
在问题的关键误解是在使用你的过滤器功能“地图”的。 'map'是将一个值转换为给定函数指定的另一个值。你可能会考虑的是在hashmap中查找值,但这是误解了map函数的定义。 – David