Pyspark减去异常结果

时间:2018-03-16 14:11:24

标签: apache-spark pyspark apache-spark-sql

我想找到与另一个数据帧不同的数据帧行,所以我尝试了subtract,但我有一些奇怪的结果。

我从

的数据框中随机获取一行
toSub = df.sample(False, 0.1, seed=0).limit(1)

然后我确保它是一个唯一的行,检查该行的id,原始数据帧中有多少时间

df.filter(df['idCol']=="idFromRandomSample").count()
>>1

原来的df有

df.count()
>>10752732

但是当我减去时,我得到了

df.subtract(toSub).count()
>>10749495

为什么这与我预期的10752731不同。 我的逻辑中有缺陷吗?为什么减去额外的行?不应该减去一行吗?

1 个答案:

答案 0 :(得分:1)

也许您的数据中有重复项。

请报告

toSub.count()

df.dropDuplicates().count()

df.dropDuplicates().subtract(toSub).count()