MapReduce czy Spark? [zamknięte]

Przetestowałem hadoop i mapreduce z cloudera i uznałem to za całkiem fajne, myślałem, że jestem najnowszym i odpowiednim rozwiązaniem BigData. Ale kilka dni temu znalazłem to : https://spark.incubator.apache.org/

"błyskawiczny system obliczeniowy klastra", zdolny do pracy na szczycie klastra Hadoop i najwyraźniej zdolny do zmiażdżenia mapreduce. Widziałem, że działa bardziej w pamięci RAM niż mapreduce. Myślę, że mapreduce jest nadal istotne, gdy trzeba zrobić cluster computing aby przezwyciężyć problemy We/Wy można mieć na jednej maszynie. Ale ponieważ Spark może wykonywać zadania, które wykonuje mapreduce i może być o wiele bardziej wydajny w kilku operacjach, czy nie jest to koniec MapReduce ? Czy jest coś więcej, Co MapReduce może zrobić, czy może MapReduce być bardziej wydajne niż Spark w określonym kontekście ?

Author: Nosk, 2014-03-04

2 answers

MapReduce jest zorientowany wsadowo w naturze. Tak więc wszelkie frameworki poza implementacjami MR, takimi jak Hive i Pig, są również zorientowane wsadowo. W przypadku przetwarzania iteracyjnego, tak jak w przypadku uczenia maszynowego i interaktywnej analizy, Hadoop / MR nie spełnia tego wymogu. Tutaj jest ładny artykuł z Cloudera na Why Spark, który podsumowuje to bardzo ładnie.

To nie koniec Mr. As tego pisania Hadoop jest znacznie dojrzały w porównaniu do Spark i wielu sprzedawców go popiera. Informatyka zmieni się w czasie. Cloudera zaczęła włączać Spark do CDH i z czasem coraz więcej dostawców włączało go do swojej dystrybucji Big Data i zapewniało komercyjne wsparcie dla niego. W przewidywalnej przyszłości będziemy widzieć Pana i iskrę równolegle.

Również z Hadoop 2 (aka YARN), MR i inne modele (w tym Spark) mogą być uruchamiane na jednym klastrze. Więc Hadoop nigdzie się nie wybiera.

 24
Author: Praveen Sripati,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-04 12:47:12

Zależy, co chcesz zrobić.

Największą siłą MapReduce jest przetwarzanie wielu dużych plików tekstowych. Implementacja Hadoop jest zbudowana wokół przetwarzania łańcuchów i jest bardzo ciężka we/wy.

Problem z MapReduce polega na tym, że ludzie widzą łatwy młotek równoległościanu i wszystko zaczyna wyglądać jak gwóźdź. Niestety wydajność Hadoop dla czegokolwiek innego niż przetwarzanie dużych plików tekstowych jest straszna. Jeśli napiszesz porządny kod równoległy, często możesz go zakończyć zanim Hadoop wypuścił swoją pierwszą maszynę wirtualną. Widziałem różnice 100x w moich własnych kodach.

Spark eliminuje wiele kosztów ogólnych Hadoop, takich jak poleganie na We/Wy dla wszystkiego. Zamiast tego utrzymuje wszystko w pamięci. Świetnie, jeśli masz wystarczająco dużo pamięci, nie tak dobrze, jeśli nie masz.

Pamiętaj, że Spark jest rozszerzeniem Hadoop, a nie zamiennikiem. Jeśli używasz Hadoop do przetwarzania dzienników, Spark prawdopodobnie nie pomoże. Jeśli masz bardziej złożone, być może ściśle powiązane problemy, to Spark bardzo by pomogło. Możesz również polubić interfejs Scala Spark do obliczeń on-line.

 29
Author: Adam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-04 09:45:03