2015-10-26 16 views

Odpowiedz

6

To jest naprawdę bardzo proste. Wszystko, co dzieje się w zamknięciu stworzonym przez transformację, dzieje się na robotniku. Oznacza to, że jeśli coś zostanie przekazane wewnątrz map(...), , groupBy*(...), aggregateBy*(...) jest wykonywane na pracownikach. Obejmuje odczytywanie danych z trwałej pamięci lub źródeł zdalnych.

Akcje takie jak count, ,są zwykle wykonywane zarówno na maszynie, jak i na robotach. Podnoszenie ciężkich przedmiotów odbywa się równolegle przez pracowników, a niektóre końcowe kroki, takie jak zmniejszenie liczby wyjść otrzymywanych od pracowników, są wykonywane sekwencyjnie przez kierowcę.

Cała reszta, podobnie jak wyzwalanie akcji lub transformacji, odbywa się w sterowniku. W szczególności oznacza to każde działanie, które wymaga dostępu do SparkContext. W PySpark oznacza to również komunikację z bramką Py4j.

+0

Dziękuję! –

1

Wszystkie zamknięcia przekazane jako argumenty dla metody JavaRDD/JavaPairRDD/similar i niektóre metody tych klas będą wykonywane przez węzły iskrzenia. Wszystko inne to kod sterownika.