Python与算法社区 原创项目教程
01
最开始接触分布式计算框架的是Hadoop中的MapReduce,虽然开发起来很复杂(Map与Reduce都要有相应的实现类)但是我也成功的启动了第一个“Hello word”(word count)。
由于MapReduce每个步骤都要将中间结果存到磁盘中,而且会将job jar 包分发到每个相关的Datanode上,虽然我的Txt文件不到1M, 但是启动计算加上返回结果的时间大概也有40秒左右,还能忍,毕竟是怀揣着我将要处理TB级别数据的梦想。
Spark作为分布式计算框架,采用的是一种基于内存的计算,减少了反复读取磁盘的数次,另外还提供了除了map与reduce更多的操作。这无疑是提供了最好的MapReduce替代品。然而最吸引我的不是spark的mapreduce有多么的快,而是spark集成了Machine Learning packages。
02
本文提供了一种接近实际生产环境,在Spark集群环境中,训练机器学习模型的完整方法,主要包括两大章节:
基于docker环境搭建spark环境
spark体验机器学习神奇之旅