gpt4 book ai didi

scala - Spark 斯卡拉 : Filter RDD if the record of the RDD doesn't exist in another RDD

转载 作者:行者123 更新时间:2023-12-04 20:37:59 27 4
gpt4 key购买 nike

我有一个结构如下的RDD:

((user_id,item_id,rating))

让我们将此 RDD 称为训练

然后还有另一个具有相同结构的rdd:
((user_id,item_id,rating))

这个 rdd 作为测试

我想确保测试中的数据不会出现在每个用户的训练中。所以让我们说
train = {u1,item2: u1,item4 : u1,item3} test={u1,item2:u1, item5}

我想确保从 u1 训练数据中删除 item2。

所以我开始做的是 groupBy both rdd(s) (user_id, item_id)
 val groupedTrainData = trainData.groupBy(x => (x._1, x._2))

但我觉得这不是要走的路。

最佳答案

您需要 PairRDDFunctions.subtractByKey :

def cleanTrain(
train: RDD[((user, item), rating)],
test: RDD[((user, item), rating)]) =
train.subtractByKey(test)

关于scala - Spark 斯卡拉 : Filter RDD if the record of the RDD doesn't exist in another RDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31796963/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com