2015-04-23 13 views
5

Jeśli podzielę RDD na przykład 60, a ja mam w sumie 20 rdzeni rozłożonych na 20 komputerach, tj. 20 wystąpień maszyn z jednym rdzeniem, to liczba zadań wynosi 60 (równa liczbie partycji). Dlaczego jest to korzystne w przypadku posiadania jednej partycji na rdzeń i posiadania 20 zadań?W jaki sposób partycje mapują się do zadań w Sparku?

Dodatkowo przeprowadziłem eksperyment, w którym ustawiłem liczbę partycji na 2, sprawdzanie interfejsu użytkownika pokazuje 2 zadania uruchomione w tym samym czasie; jednak zaskoczyło mnie to, że przełącza instancje po zakończeniu zadań, np. węzeł1 i węzeł2 wykonują pierwsze 2 zadania, następnie węzeł6 i węzeł8 wykonują następny zestaw 2 zadań itd. Pomyślałem, ustawiając liczbę partycji na mniej niż rdzenie (i instancje) w klastrze, a następnie program użyje minimalnego liczba wymaganych instancji. Czy ktoś może wyjaśnić to zachowanie?

Odpowiedz

2

Pierwsze pytanie: możesz chcieć wykonać bardziej szczegółowe zadania, niż jest to absolutnie konieczne, aby załadować mniej do pamięci w tym samym czasie. Ponadto może pomóc w tolerancji błędów, ponieważ w przypadku awarii należy ponownie wykonać mniej pracy. Jest to jednak parametr. Ogólnie odpowiedź zależy od rodzaju obciążenia (granica IO, granica pamięci, granica procesora).

Co do drugiego, uważam, że wersja 1.3 zawiera kod, który dynamicznie żąda zasobów. Nie jestem pewien, w jakiej wersji jest przerwa, ale starsze wersje wymagają tylko dokładnych zasobów, z którymi konfigurujesz swój sterownik. Jeśli chodzi o to, jak partycja przechodzi z jednego węzła do drugiego, dobrze, AFAIK, wybierze dane dla zadania z węzła, który ma lokalną kopię tych danych na HDFS. Ponieważ plik hdf ma wiele kopii (domyślnie 3) każdego bloku danych, istnieje wiele opcji uruchamiania dowolnego elementu).

+0

Dziękuję. Jednak nie umieszczam danych w HDFS, raczej importuję z S3. Miałem wrażenie, że to nie umieszcza danych w HDFS, ale mogę się mylić? – monster

+0

Uh, to zależy. Spark jest bardzo często używany jako zamiennik Hadoop na HDFS, ale jest kompatybilny z większą ilością rzeczy. Tak więc pytania wracają do Ciebie, w co masz swoje dane? Ale szczerze mówiąc, nie użyłem do tego S3. Nie zdziwiłbym się, gdyby te same uwagi miały zastosowanie. Nie ma aż tak wielu możliwości stworzenia rozproszonej redundancji ;-) –

Powiązane problemy