《Scala机器学习》一一第3章 使用Spark和MLlib
**第3章
使用Spark和MLlib**
上一章介绍了在全局数据驱动的企业架构中的什么地方以及如何利用统计和机器学习来处理知识,但接下来不会介绍Spark和MLlib的具体实现,MLlib是Spark顶层的机器学习库。Spark是大数据生态系统中相对较新的成员,它基于内存使用而不是磁盘来进行优化。数据仍然可以根据需要转储到磁盘上,但Spark只有在明确指示这样做或活动数据集不适合内存时才会执行转储。如果节点出现故障或由于某些原因从内存中擦除信息,Spark会利用存储的信息来重新计算活动数据集。这与传统的MapReduce方法不同,传统的MapReduce方法会将每个map或reduce的数据保留到磁盘上。
Spark特别适合于在分布式节点集上的迭代或统计机器学习算法,并且可以对其进行扩展。对于Spark,唯一的问题是节点中可用的总内存