Ugrás a fő tartalomhoz

Akciók

Megszámlálás - count

Megadja az adott RDD-ben lévő elemeik számát.

Redukció - reduce

A redukció egy kétparaméteres (accumulator, current) függvény vár, aminek alkalmazásával feldolgozza a teljes RDD-t. Ehhez minden elem esetén meghívja a megadott függvényt, melynek accumulator paramétereként átadja a függvény előző hívásának eredményét (kezdetben az érték az RDD első eleme) current paraméterként pedig az aktuális elemet.

Hasonlókért lásd: foldl (Haskell), reduce (JavaScript), Stream.reduce (Java)

numbers = sc.parallelize(range(1000))
numbers.reduce(lambda accumulator, current: accumulator + current) # összegzés megvalósítása
numbers.reduce(lambda maximum, current: max(accumulator, current)) # maximumkiválasztás
veszély

Nagyon fontos, hogy az elosztott végrehajtás miatt kommutatívnak és asszociatívnak kell lennie, illetve úgy kell megírni , hogy később amikor a különböző számítógépeken befejeződik a redukció, az alredukciók eredménye is ugyan ezzel a függvénnyel lesz redukálva.

Ezért például a következő kód rosszul működik:

numbers.reduce(lambda count, current: count + 1 if current % 2 == 0 else count)