2015-07-20 3 views
0

Я новичок в PySpark, и я пытаюсь понять, как мы можем написать несколько вложенных циклов в PySpark, пример грубого высокого уровня ниже. Любая помощь будет оценена по достоинству.программа pyspark для вложенного цикла

for (i=0;i<10;i++) 
    for (j=0;j<10;j++) 
     for (k=0;k<10;k++) 
      { 
      print "i"."j"."k" 
} 

ответ

4

В не распределенной установке для-петли переписана с использованием foreach комбинатора, но из-за искры природы map и flatMap являются лучшим выбором:

from __future__ import print_function 
a_loop = lambda x: ((x, y) for y in xrange(10)) 
print_me = lambda ((x, y), z): print("{0}.{1}.{2}".format(x, y, z))) 

(sc. 
    parallelize(xrange(10)). 
    flatMap(a_loop). 
    flatMap(a_loop). 
    foreach(print_me) 

Из использования itertools.product:

from itertools import product 
sc.parallelize(product(xrange(10), repeat=3)).foreach(print) 
Смежные вопросы