@@ -96,10 +96,9 @@ def shuffle(self, vals):
9696
9797class RDDSampler (RDDSamplerBase ):
9898
99- def __init__ (self , withReplacement , fraction , seed = None , lowbound = 0.0 ):
99+ def __init__ (self , withReplacement , fraction , seed = None ):
100100 RDDSamplerBase .__init__ (self , withReplacement , seed )
101101 self ._fraction = fraction
102- self ._lowbound = lowbound
103102
104103 def func (self , split , iterator ):
105104 if self ._withReplacement :
@@ -112,10 +111,23 @@ def func(self, split, iterator):
112111 yield obj
113112 else :
114113 for obj in iterator :
115- if self ._lowbound <= self . getUniformSample (split ) < self ._fraction :
114+ if self .getUniformSample (split ) <= self ._fraction :
116115 yield obj
117116
118117
118+ class RDDRangeSampler (RDDSamplerBase ):
119+
120+ def __init__ (self , lowerBound , upperBound , seed = None ):
121+ RDDSamplerBase .__init__ (self , False , seed )
122+ self ._lowerBound = lowerBound
123+ self ._upperBound = upperBound
124+
125+ def func (self , split , iterator ):
126+ for obj in iterator :
127+ if self ._lowerBound <= self .getUniformSample (split ) < self ._upperBound :
128+ yield obj
129+
130+
119131class RDDStratifiedSampler (RDDSamplerBase ):
120132
121133 def __init__ (self , withReplacement , fractions , seed = None ):
0 commit comments