Apache Spark机器学习.1.1 Spark概述和技术优势

简介:

摘要

Spark机器学习简介

本章从机器学习和数据分析视角介绍Apache Spark,并讨论Spark中的机器学习计算处理技术。本章首先概括介绍Apache Spark,通过与MapReduce等计算平台进行比较,展示Spark在数据分析中的技术优势和特点。接着,讨论如下五个方面的内容:

机器学习算法与程序库

Spark RDD和DataFrame

机器学习框架

Spark pipeline技术

Spark notebook技术

以上是数据科学家或机器学习专业人员必须掌握的五项最重要的技术内容,以便于充分运用Spark处理计算优势。同时,本章将涵盖以下六个主题:

Spark概述和技术优势

机器学习算法和Spark机器学习库

Spark RDD和Dataframe

机器学习框架、RM4E和Spark计算

机器学习工作流和Spark pipeline技术

Spark notebook技术简介


1.1 Spark概述和技术优势


本节对Apache Spark计算平台作总体介绍,通过与MapReduce等计算平台对比,总结Spark计算的优势。然后,简要介绍Spark计算如何适用于现代机器学习和大数据分析。

通过本节学习,读者将对Spark计算有一个基本了解,同时掌握一些基于Spark计算开展机器学习的技术优点。

1.1.1 Spark概述

Apache Spark是面向大数据快速处理的计算框架,该框架包含一个分布式计算引擎和一个专门设计的编程模型。2009年,Spark起源于美国加州大学伯克利分校AMPLab实验室的一个研究项目,然后在2010年成为Apache软件基金完全开源项目。之后,Apache Spark经历了指数级增长,目前Spark是大数据领域最活跃的开源项目。

Spark计算利用了内存分布式计算方法,该方法使得Spark计算成为最快的计算方式之一,尤其是对于反复迭代计算。根据多次测试表明,它的运行速度比Hadoop MapReduce快100倍以上。

Apache Spark是一个统一的平台,平台由Spark核心引擎和四个库组成:SparkSQL、Spark Streaming、MLlib和GraphX。这四个库都有Python、Java和Scala的编程API。

除了上面提到的四个内置库,Apache Spark还有数十个由第三方提供的程序包,这些程序包可用于处理数据源、机器学习,以及其他任务。

 

Apache Spark产品版本更新周期为3个月,Spark 1.6.0版本更新于2016年1月4日。Apache Spark 1.3版本包含有DataFrames API和ML Pipelines API。自Apache Spark 1.4版本开始,程序已默认包含R界面(SparkR)。

读者可以通过链接http://spark.apache.org/downloads.html下载Apache Spark。想要安装和运行Apache Spark,可以到链接http://spark.apache.org/docs/latest/下载最新说明文档。

1.1.2 Spark优势

相对于MapReduce等其他大数据处理平台,Apache Spark拥有诸多优势。其中,比较突出的两项优势是快速运行和快速写入能力。

Apache Spark保留了诸如可扩展性和容错能力等一些MapReduce最重要的优势,并且利用新技术对其保留的优势进行了大幅提升。

与MapReduce相比,Apache Spark的引擎可以为用户执行更为常见的有向无环图(DAG)。因此,使用Apache Spark来执行MapReduce风格的图计算,用户可以获得比在Hadoop平台上更好的批处理性能。

Apache Spark拥有内存处理能力,并且使用了新的数据提取方法,即弹性分布式数据集(RDD),使得Apache Spark能够进行高度迭代计算和响应型编程,并且扩展了容错能力。

同时,Apache Spark只需要几行简短的代码就可以使复杂的pipeline展现变得更为容易。最为人所熟知的是,它可以轻松创建算法,捕捉复杂甚至是混乱数据的真谛,并帮助用户得到实时处理结果。

Apache Spark团队为Spark总结的功能包括:

机器学习中的迭代算法

交互式数据挖掘和数据处理

兼容Hive数据仓库并可提升百倍运行速度

流处理

传感器数据处理

对于在实际应用中需要处理上述问题的数据科学家,Apache Spark在处理以下问题时可以轻而易举地显现出其优势:

并行计算

交互式分析

复杂计算

大部分用户对于Apache Spark在速度和性能上的优势都很满意,但是部分人也注意到Apache Spark产品仍在不断完善。

http://svds.com/user-cases-for-apache-spark/提供了一些展现Spark优势的实例。

目录
打赏
0
0
0
0
1408
分享
相关文章
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
212 15
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
180 1
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
75 0
Apache Spark的应用与优势:解锁大数据处理的无限潜能
【8月更文挑战第23天】Apache Spark以其卓越的性能、易用性、通用性、弹性与可扩展性以及丰富的生态系统,在大数据处理领域展现出了强大的竞争力和广泛的应用前景。随着大数据技术的不断发展和普及,Spark必将成为企业实现数字化转型和业务创新的重要工具。未来,我们有理由相信,Spark将继续引领大数据处理技术的发展潮流,为企业创造更大的价值。
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
74 0
【人工智能】TensorFlow和机器学习概述
TensorFlow的性能优化将是持续的工作重点。这包括更高效的GPU和TPU支持、更快速的模型训练与推理、以及优化的内存使用。同时,随着硬件的发展,TensorFlow将不断优化其代码库以充分利用新型硬件的能力。
60 0
【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
864 0

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等