基于Apache Spark的分布式计算集群设计文献综述

 2022-09-25 16:20:06

  1. 文献综述(或调研报告):

Apache Spark是一种适用于大规模数据处理的流行开源平台,它非常适合迭代的机器学习任务。这篇论文里面我们讲述Spark的开源分布式机器学习库——Mllib(如图1所示)。MLlib为宽范围的机器学习提供了足够的功能,包括几种基本的统计、优化以及线性代数方法。与Spark一起,MLlib支持几种语言并且提供了一个高水平的API,其能够利用Spark丰富的生态环境从而简化端对端机器学习管道的开发过程。由于Spark拥有超过140个贡献者的充满活力的开源社区,MLlib经历了快速的发展,现在也提供了全面的文档使得用户能够快速进行部署开发。

图1 Apache Spark生态

MLlib与Spark的紧密集成带来了多种好处。 首先,由于Spark的设计考虑了迭代计算,因此它可以开发大规模机器学习算法的高效实现,因为它们通常是迭代的。 Spark的低级组件的改进通常会转化为MLlib的性能提升,而不会对库本身进行任何直接更改。 其次,Spark充满活力的开源社区带来了MLlib的快速增长和采用,包括来自140多人的贡献。 第三,MLlib是构建在Spark之上的几个高级库之一。作为Spark丰富的生态系统的一部分,部分由于MLlib的用于管道开发的spark.ml API,MLlib为开发人员提供了广泛的工具,以简化实际中机器学习管道的开发。

Spark在加州大学伯克利分校AMPLab开始,并于2010年开源.Spark专为高效的迭代计算而设计,从早期版本开始已经与示例机器学习算法打包在一起。 但是,在创建MLlib之前,它缺乏一套强大且可扩展的学习算法。 MLlib的开发始于2012年,作为MLbase项目的一部分(Kraska et al。,2013),MLlib于2013年9月开源。从一开始,MLlib已与Spark打包,MLlib的初始版本包含在 Spark 0.8发布。 作为一个Apache项目,Spark(以及MLlib)是在Apache 2.0许可下开源的。 此外,从Spark 1.0版开始,Spark和MLlib的发布周期为3个月。

一个基于Apache Spark的计算集群的架构如图2所示:

图2 Apache Spark计算集群的架构

而该计算集群任务调度的总体过程如图3所示:

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版