Machine learning is used widely on the internet for applications like search, recommendations, and social networking. Apache Mahout is an open source machine learning library that provides scalable machine learning algorithms to analyze large datasets. Mahout includes algorithms for recommendations, clustering, classification, and pattern mining. Many Mahout algorithms are implemented using MapReduce to allow them to scale to large datasets on Hadoop. One example is K-means clustering, which is parallelized across MapReduce jobs to iteratively calculate cluster centroids.