File tree Expand file tree Collapse file tree 2 files changed +9
-12
lines changed Expand file tree Collapse file tree 2 files changed +9
-12
lines changed Original file line number Diff line number Diff line change @@ -174,18 +174,19 @@ def take(self, n):
174174        """ 
175175        Return the first `n` RDDs in the stream (will start and stop). 
176176        """ 
177-         rdds  =  []
177+         results  =  []
178178
179179        def  take (_ , rdd ):
180-             if  rdd  and  len (rdds ) <  n :
181-                 rdds .append (rdd )
180+             if  rdd  and  len (results ) <  n :
181+                 results .extend (rdd .take (n  -  len (results )))
182+ 
182183        self .foreachRDD (take )
183184
184185        self ._ssc .start ()
185-         while  len (rdds ) <  n :
186+         while  len (results ) <  n :
186187            time .sleep (0.01 )
187188        self ._ssc .stop (False , True )
188-         return  rdds 
189+         return  results 
189190
190191    def  collect (self ):
191192        """ 
Original file line number Diff line number Diff line change @@ -87,16 +87,12 @@ class TestBasicOperations(PySparkStreamingTestCase):
8787    def  test_take (self ):
8888        input  =  [range (i ) for  i  in  range (3 )]
8989        dstream  =  self .ssc .queueStream (input )
90-         rdds  =  dstream .take (3 )
91-         self .assertEqual (3 , len (rdds ))
92-         for  d , rdd  in  zip (input , rdds ):
93-             self .assertEqual (d , rdd .collect ())
90+         self .assertEqual ([0 , 0 , 1 ], dstream .take (3 ))
9491
9592    def  test_first (self ):
9693        input  =  [range (10 )]
9794        dstream  =  self .ssc .queueStream (input )
98-         rdd  =  dstream .first ()
99-         self .assertEqual (range (10 ), rdd .collect ())
95+         self .assertEqual (0 , dstream )
10096
10197    def  test_map (self ):
10298        """Basic operation test for DStream.map.""" 
@@ -385,7 +381,7 @@ def func(rdds):
385381
386382        dstream  =  self .ssc .transform ([dstream1 , dstream2 , dstream3 ], func )
387383
388-         self .assertEqual ([2 , 3 , 1 ], dstream .first (). collect ( ))
384+         self .assertEqual ([2 , 3 , 1 ], dstream .take ( 3 ))
389385
390386
391387if  __name__  ==  "__main__" :
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments