Definition Was ist Apache Mahout?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel |

Apache Mahout ist ein frei verfügbares Framework für verteilt arbeitende Algorithmen der linearen Algebra. Es ist für Anwendungen im Big-Data-Umfeld einsetzbar und unter anderem für statistische Berechnungen nutzbar. Das Framework arbeitet mit Apache Hadoop und anderen Plattformen für verteiltes Computing und Data Processing wie Apache Spark, H2O oder Apache Flink zusammen.

Anbieter zum Thema

(Bild: © aga7ta - stock.adobe.com)

Die Bezeichnung Apache Mahout leitet sich vom Begriff „Mahout“ ab, der den Besitzer und Pfleger eines Arbeitselefanten bezeichnet. Damit soll die enge Verzahnung von Apache Mahout mit Apache Hadoop zum Ausdruck gebracht werden. Apache Hadoop ist ein Framework für verteiltes Computing auf Computerclustern, mit dem sich rechenintensive Prozesse bei großen Datenmengen ausführen lassen. Es verwendet einen Elefanten als Logo.

Apache Mahout ist ein frei verfügbares Framework unter Apache License 2.0 für verteilt arbeitende Algorithmen der linearen Algebra. Einsetzbar ist das Framework für Big-Data-Anwendungen und statistische Berechnungen. Die ersten Veröffentlichungen von Apache Mahout enthielten skalierbare Algorithmen, die sehr eng mit Apache Hadoop und MapReduce in Bezug standen. Mittlerweile ist diese enge Verzahnung aufgehoben und Apache Mahout arbeitet auch auf Nicht-Hadoop-Clustern oder Einzelknoten. Auch andere Plattformen für verteiltes Computing und Data Processing wie Apache Spark, H2O oder Apache Flink werden unterstützt.

Seit dem Release 0.10.0 liegt der Fokus des Frameworks auf der Bereitstellung einer Backend-unabhängigen Umgebung. Der Support für MapReduce wurde seit 2014 nach und nach zurückgefahren. Apache Mahout stellt skalierbare Algorithmen für typische Verfahren des maschinellen Lernens bereit wie Clustering, Klassifizierung und Empfehlungen. Mahout nutzt als Domain Specific Language (DSL) eine Scala-basierte Bibliothek. Gestartet ist das Projekt bereits im Jahr 2008. 2009 erschien das erste Release des Frameworks. Seit dem Jahr 2010 ist Apache Mahout ein Top-Level-Projekt der Apache Software Foundation. Die aktuelle Version des Frameworks (Stand 2019) ist die Version 0.14.0.

Funktionen und Algorithmen von Apache Mahout

Apache Mahout vereint zahlreiche Funktionen und Algorithmen der linearen Algebra, die auf verteilten Computing-Umgebungen arbeiten. Das Framework gestattet es, Data-Mining-Aufgaben performant auszuführen und große Datenmengen schnell und effizient zu analysieren. Zur Verfügung stehen Matrix- und Vektor-Funktionen, Klassifizierungsalgorithmen wie Naive Bayes oder Random Forest, Clustering-Funktionen wie Canopy, k-Means, Fuzzy k-Means oder Streaming k-Means und zahlreiche weitere Algorithmen und Funktionen wie:

  • Lanczos-Algorithmus
  • stochastischer Gradientenabstieg (Stochastic Gradient Descent – SGD)
  • Matrixfaktorisierungsmodell SVD++
  • Frequent Pattern Matching
  • Hidden Markov Models (HMM)
  • Dirichlet Clustering
  • Spectral Clustering

Anwendungen von Apache Mahout

Apache Mahout liefert für zahlreiche Anwendungen im Big-Data- und Machine-Learning-Umfeld hoch skalierbare mathematische und statistische Algorithmen und Funktionen. Ein typischer Anwendungsbereich sind beispielsweise Empfehlungsmaschinen (Recommendation Engines) von Onlineshops oder Webservices. Sie liefern Empfehlungen auf Basis des zuvor analysierten Verhaltens der User. Eine weitere Anwendung ist das automatische Erkennen und Filtern von Spam-E-Mails. Die Filter-Maschinen verwenden Machine-Learning-Algorithmen zum Clustering und zur Klassifizierung der E-Mails.

Zum Einsatz kommt Apache Mahout auch im Natural Language Processing (NLP). NLP ermöglicht die Kommunikation zwischen Computer und Mensch per Sprache. Apache Mahout stellt hierfür Algorithmen zur Verfügung, um beispielsweise Spracheingaben zu analysieren und zu verstehen. Mittlerweile nutzen viele große Unternehmen die Möglichkeiten des maschinellen Lernens und der Big-Data-Analyse mit Apache Mahout. Zu diesen Unternehmen zählen unter anderem Facebook, Twitter, Adobe oder Yahoo.

Vorteile des Apache Mahout Framework

Der Einsatz des Apache Mahout Framework für skalierbare Algorithmen der linearen Algebra im Big-Data- und Machine-Learning-Umfeld bietet zahlreiche Vorteile. Zu diesen Vorteilen zählen:

  • Bereitstellung skalierbarer Algorithmen für verteilte Computing-Systeme
  • nutzbar für große Datenmengen
  • Unterstützung zahlreicher unterschiedlicher Anwendungsfälle
  • Unterstützung von Apache Hadoop und anderen Plattformen für verteiltes Computing und Data Processing wie Apache Spark, H2O oder Apache Flink
  • frei verfügbar unter der Apache License 2.0
  • große Entwickler- und Anwender-Community verfügbar
  • ein Top-Level-Projekt der Apache Software Foundation

(ID:46220061)