2
我有一个尺寸80'000的pairRDD
。只有1.5%的条目是唯一的。为了筛选出复制的数据我称之为distinct
方法:Apache Spark RDD不同 - 奇怪的行为
val newRDD = oldRDD.distinct
然而,这不仅能消除大部分的重复数据 - 它留下3-5之间重复每个唯一的入口!
我检查了剩余的条目与原始条目,它们完全一样。
Sample of the original data:
(1,(0.0500937328554143, 0.9000767961093774))
(1,(0.0500937328554143, 0.9000767961093774))
(1,(0.0500937328554143, 0.9000767961093774))
Sample of the distinct data:
(1,(0.0500937328554143, 0.9000767961093774))
(1,(0.0500937328554143, 0.9000767961093774))
(1,(0.0500937328554143, 0.9000767961093774))
有什么,我想知道如何distinct
工作?
至少这是我的猜测。如果他们确实比较相等,则必须有一个微妙的解释。 –
谢谢你的回复,丹尼尔。我想知道为什么会发生这种情况,为什么在135个参赛作品中,它决定了3个与其他作品不同,并且彼此之间(我对他们又做了“独特”处理,而且都保留在RDD中)。这也很奇怪,因为我把1个条目放入地图中,然后复制它。然后我把它们拿出来,他们已经改变了。奇怪的行为。 – monster
你发现了什么?它们与'=='相等吗?这确实是一个奇怪的行为。即使通过所有的序列化和传输,我也不会期望相同的数字变得不相等。 –