2012-01-01 15 views
22

Czy są jakieś alternatywne paradygmaty dla MapReduce (Google, Hadoop)? Czy istnieje jakikolwiek inny rozsądny sposób podziału dużych problemów z połączeniem &?MapReduce alternatives

+0

MapReduce nie jest algorytmem ani paradygmatem, to technologia. –

+4

@ralu: Istnieje wiele sposobów radzenia sobie z dużymi problemami.MapReduce DEFINITIALY jest tylko jednym z nich i ZDECYDOWANIE jest zarówno paradygmatem, jak i algorytmem. Również jego implementacja staje się technologią, ale nie jestem zainteresowany implementacjami raczej pomysłami. Dziękuję Ci. – Cartesius00

+0

Dlaczego myślisz o swoim problemie jako o podzieleniu i scaleniu? Musisz tylko rozwiązać problem. Na przykład Apache Pig sprzedaje dane za pomocą języka SQL. I nie ma sposobu na podzielenie i scalenie, chociaż może on działać na setkach setek maszyn i wykorzystuje Hadoop jako platformę. –

Odpowiedz

12

Definitively. Sprawdź na przykład Bulk Synchronous Parallel. Map/Reduce jest w rzeczywistości bardzo ograniczonym sposobem zmniejszania problemów, jednak ograniczenie to umożliwia zarządzanie w ramach takich jak Hadoop. Pytanie brzmi, czy nie ma problemu, aby wcisnąć swój problem w ustawienie Map/Reduce, lub czy łatwiej jest stworzyć schemat równoległy specyficzny dla konkretnej domeny i samemu zająć się wszystkimi szczegółami implementacji. Pig to w rzeczywistości tylko warstwa abstrakcji na szczycie Hadoop, która automatyzuje wiele standardowych transformacji problemowych z funkcji nie-Map-Reduce-y na Map-Reduce.

Edit 26.01.13: znalaz? nice up-to-date overview here

+3

[Apache Hama] (http://incubator.apache.org/hama/) implementuje BSP. Hama został przeniesiony do [YARN (Yet Another Resource Manager)] (http://wiki.apache.org/hama/GettingStartedYARN), który jest częścią Hadoop 0.23. Sprawdź to [blog] (http://codingwiththomas.blogspot.com/) na Apache Hama. –

+0

Dzięki Praveen;) Odwiedź naszą stronę internetową i wiki, aby uzyskać więcej informacji o hama http://incubator.apache.org/hama/ –

9

Phil Colella zidentyfikowano siedem metod numerycznych do obliczeń naukowych na podstawie wzorców rozpraszania i zbierania danych pomiędzy węzłami przetwarzania, i nazwał je „krasnoludki”. Zostały one dodane do przez innych, wykaz dostępny jest na Dwarf Mine:

  1. Gęsty Linear Algebra
  2. Rzadki algebra liniowa
  3. Metody widmowe
  4. Metod
  5. N-Body
  6. strukturyzowane Siatki
  7. Siatki niestrukturalne
  8. MapReduce
  9. Kombinatkowy Logi c
  10. Graph Traversal
  11. programowania dynamicznego
  12. Backtrack i rozgałęzienia i związanego
  13. graficzne Modele Machines
  14. Finite State
0

Microsoft Dryad jest uważana za bardziej ogólne niż MapReduce.

2

Aktualizacja (sierpień 2014): Stratosfera nazywa się teraz Apache Flink (inkubacja).

Spójrz na Stratosphere. Jest to kolejne środowisko uruchomieniowe Big Data, które oferuje więcej operatorów (mapowanie, redukowanie, łączenie, łączenie, krzyżowanie, iteracja, ...). Pozwala również na definiowanie zaawansowanych wykresów przepływu danych (przy Hadoop MR, będziesz musiał łączyć zadania).

Stratosphere obsługuje również BSP z jego abstrakcją przetwarzania wykresu (o nazwie Spargel).

Jeśli chcesz przeczytać artykuły naukowe, spójrz na Nephele/PACTs: A Programming Model and Execution Framework for Web-Scale Analytical Processing, wyjaśnia teoretyczne podstawy systemu.

Kolejny system w tej dziedzinie to Spark, który ma swój własny model (RDD). Ponieważ wspomniano tu o BSP, warto również zapoznać się z ofertą GraphLab, która jest alternatywą dla BSP.

Powiązane problemy