利用 Spark 构建可扩展的机器学习应用
1. 大数据与机器学习背景
近年来,数据的收集、存储和分析量呈爆炸式增长,尤其是与网络和移动设备活动相关的数据,以及通过传感器网络收集的物理世界数据。以往,大规模数据存储、处理、分析和建模是谷歌、雅虎、脸书和推特等大型机构的领域,但现在许多组织都面临着如何处理海量数据的挑战。面对如此大量的数据以及实时利用数据的需求,人力系统很快变得不可行,这促使了所谓的大数据和机器学习系统的兴起,这些系统可以从数据中学习并做出自动决策。
2. 开源技术应对挑战
为了应对处理大规模数据且成本不高的挑战,谷歌、雅虎、亚马逊和脸书等公司推出了新的开源技术,旨在通过将数据存储和计算分布在计算机集群上来更轻松地处理海量数据。其中最广泛使用的是 Apache Hadoop,它通过 Hadoop 分布式文件系统(HDFS)显著降低了存储大量数据的难度和成本,并通过 Hadoop MapReduce 框架在计算机集群的多个节点上并行执行计算任务。
然而,MapReduce 存在一些重要缺点,例如启动每个作业的开销高,以及依赖将计算的中间数据和结果存储到磁盘,这使得 Hadoop 不太适合迭代或低延迟的用例。Apache Spark 是一个新的分布式计算框架,它从底层设计上就针对低延迟任务进行了优化,并将中间数据和结果存储在内存中,从而解决了 Hadoop 框架的一些主要缺点。Spark 提供了一个简洁、功能强大且易于理解的 API 来编写应用程序,并且与 Hadoop 生态系统完全兼容。
3. Spark 的优势与特点
- 多语言支持 :Spark 提供
超级会员免费看
订阅专栏 解锁全文
3341

被折叠的 条评论
为什么被折叠?



