Apache Mahout: Machine Learning on Distributed Dataflow Systems


Apache Mahout is a library for scalable machine learning on distributed dataflow systems, offering various implementations of classification, clustering, dimensionality reduction and recommendation algorithms. It originated in 2008 and targeted MapReduce, which was the predominant abstraction for scalable computing in industry at that time. Mahout has been widely used by leading web companies and is part of several commercial cloud offerings. In recent years, Mahout migrated to a general framework enabling a mix of dataflow programming and linear algebraic computations on backends such as Apache Spark and Apache Flink. This design allows users to execute data preprocessing and model training in a single, unified dataflow system, instead of requiring a complex integration of several specialized systems. Mahout is maintained as a community-driven, top-level, open source project at the Apache Software Foundation, and is available under https://mahout.apache.org.

Journal of Machine Learning Research (JMLR), open source software track