Crunch hilft bei der MapReduce Implementierung

20121229-085440.jpg
Das neue Apache Incubator Projekt Crunch versucht die Implementierung von Java-basierten MapReduce Programmen zu vereinfachen.
Crunch implementiert dabei eine weitere Absteaktionsschicht auf Hadoops MapReduce-API um wiederkehrende Muster wie das Sortieren und Gruppieren von Elementen zu vereinfachen.
Dazu nutzt Crunch im Kern die beiden neuen Java-Typen PCollection und PTable. Auf beiden Java-Collections können foldende, einfache Operationen ausgeführt werden:

  1. parallelDo – ruft eine Benutzerdefinierte Methode mit einer PCollection auf und liefert eine PCollection zurück
  2. groupByKey – Sortiert und Gruppiert die Elemente einer PTable-Collection nach ihren Schlüsseln
  3. combineValues – Führt assoziative Operationen auf den Werten von PTable aus
  4. union – Behandelt zwei oder mehr PCollections als eine einzige PCollection

Crunch biete darüber hinaus weitere Operationen, welche auf diesen einfachen Operationen aufbauen. So lassen sich, mit deutlich weniger Code als die normale MapReduce-API von Hadoop bietet, auch komplexe Datenverarbeitungs-Pipelines implementieren.

Interessant ist auch der Scala-Wrapper Scrunch, welcher den einfachen Zugriff auf die Crunch-API von Scala aus ermöglicht.

Initiiert wurde Crunch von Cloudera.

Schreibe einen Kommentar


(required)