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

相关文章
|
22天前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
51 2
|
11天前
|
分布式计算 大数据 Apache
利用.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的易用性和强大功能。
25 1
|
26天前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
18天前
|
机器学习/深度学习 人工智能 算法
机器学习概述
机器学习概述
19 0
|
22天前
|
存储 分布式计算 算法
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
33 0
|
22天前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
30 0
|
22天前
|
SQL 存储 分布式计算
大数据-93 Spark 集群 Spark SQL 概述 基本概念 SparkSQL对比 架构 抽象
大数据-93 Spark 集群 Spark SQL 概述 基本概念 SparkSQL对比 架构 抽象
28 0
|
3月前
|
分布式计算 Hadoop 大数据
大数据处理框架在零售业的应用:Apache Hadoop与Apache Spark
【8月更文挑战第20天】Apache Hadoop和Apache Spark为处理海量零售户数据提供了强大的支持
59 0
|
3月前
|
机器学习/深度学习 算法 TensorFlow
【人工智能】TensorFlow和机器学习概述
TensorFlow的性能优化将是持续的工作重点。这包括更高效的GPU和TPU支持、更快速的模型训练与推理、以及优化的内存使用。同时,随着硬件的发展,TensorFlow将不断优化其代码库以充分利用新型硬件的能力。
24 0
|
3月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
189 0

推荐镜像

更多