我有一个RDD,其中只有3个不同的键,但值可以不同,并且(键,值)的组合是唯一的。我使用sampleByKey
从此RDD进行采样而无需替换。现在我想找到那些未在抽样中选择的元素。我怎样才能做到这一点?
答案 0 :(得分:0)
你可以这样做:
rdd = sc.parallelize([('a', 1), ('a', 2), ('b', 1), ('b', 2), ('c', 1)])
rdd_in = rdd.sampleByKey(False, {'a': 0.5, 'b': 0.5, 'c': 0.5}, seed=3)
print rdd_in.collect()
# [('a', 2), ('b', 2), ('c', 1)]
print rdd.subtract(rdd_in).collect()
# [('a', 1), ('b', 1)]