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优势的实例。

相关文章
|
5月前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习中的自然语言处理技术
【2月更文挑战第16天】 在数字化和智能化的浪潮中,自然语言处理(NLP)技术已成为连接人类与机器沟通的重要桥梁。本文深入探讨了机器学习在自然语言处理中的应用,包括最新的模型架构、算法优化技巧及实际场景中的挑战和解决方案。通过逻辑严密的分析,我们将揭示如何有效利用机器学习提升NLP系统的性能,同时对未来发展趋势进行预测。
178 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【2月更文挑战第31天】 随着人工智能的飞速发展,自然语言处理(NLP)技术在机器学习领域扮演着越来越重要的角色。本文旨在深入探讨NLP的关键技术,包括语言模型、词嵌入和深度学习方法,并分析这些技术如何相互协作,以实现更高效的文本分析和理解。通过案例研究和最新研究成果的介绍,我们展示了NLP在实际应用中的强大潜力,以及它如何推动人机交互和信息检索系统的革新。
183 0
|
5月前
|
分布式计算 并行计算 大数据
Spark学习---day02、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
Spark学习---day02、Spark核心编程 RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
207 1
|
2月前
|
分布式计算 大数据 数据处理
Apache Spark的应用与优势:解锁大数据处理的无限潜能
【8月更文挑战第23天】Apache Spark以其卓越的性能、易用性、通用性、弹性与可扩展性以及丰富的生态系统,在大数据处理领域展现出了强大的竞争力和广泛的应用前景。随着大数据技术的不断发展和普及,Spark必将成为企业实现数字化转型和业务创新的重要工具。未来,我们有理由相信,Spark将继续引领大数据处理技术的发展潮流,为企业创造更大的价值。
|
5月前
|
机器学习/深度学习 人工智能 运维
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(二)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
268 1
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(一)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
315 1
|
2月前
|
SQL 分布式计算 数据处理
|
5月前
|
分布式计算 Java Scala
Spark学习---day03、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(二)
Spark学习---day03、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(二)
|
4月前
|
SQL 存储 分布式计算
Apache Kylin 概述
Apache Kylin 概述
|
4月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
30 0

推荐镜像

更多
下一篇
无影云桌面