大数据spark培训
- 格式:pptx
- 大小:2.99 MB
- 文档页数:64


Spark计算模型
1.弹性分布式数据集RDD
1.1. RDD 概述
1. 1.1. 什么是RDD
RDD (Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象, 它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点: 自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓 存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。
1. 1.2. RDD的属性
* Internally, each RDD is characterized by five main properties:
*
* ~ A list of partitions
* " A function for computing each split
* - A list of dependencies on other HDDs
* _ Optionally, a Partitioner for key-value HDDs (e. g, to say that the RDD is hash-parti Honed)
* - Optionally, a list of preferred locations to costpule each split on (e. g. block locations for
* an HDFS file)
1) 一组分片(Partition),即数据集的基本组成单位。对于RDD来说,每个分片都会被一 个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如 果没有指定,那么就会采用默认值。默认值就是程序所分配到的CPU Core的数目。
2) 一个计算每个分区的函数。Spark中RDD的计算是以分片为单位的,每个RDD都会实现 compute函数以达到这个目的。compute函数会对迭代器进行复合,不需要保存每次计算的 结果。
研究与开发 文章编号:1007-1423(2015)08—0055—06 DOI:10.3969/j.issn.1007—1423.2015.08.013 大数据处理模型Apache Spark研究 黎文阳 (四川大学计算机学院,成都610065) 摘要: Apache Spark是当前流行的大数据处理模型,具有快速、通用、简单等特点。Spark是针对MapReduce在迭代式机器学 习算法和交互式数据挖掘等应用方面的低效率,而提出的新的内存计算框架,既保留了MapReduce的可扩展性、容 错性、兼容性,又弥补了MapReduce在这些应用上的不足。由于采用基于内存的集群计算,所以Spark在这些应用上 比MapReduce快100倍。介绍Spark的基本概念、组成部分、部署模式,分析Spark的核心内容与编程模型,给出相关 的编程示例。 关键词: Spark;Hadoop;MapReduce;大数据;数据分析 0 引言 MapReduce计算模型在大规模数据分析领域已取 得很大成绩。并被很多公司广泛采用。这些系统都是基 于非循环的数据流模型.有很好的容错性.同时为开发 人员提供了高级接口以便于编写并行程序 目前这些 系统能很容易地访问集群中的计算资源.但是不能充 分地利用分布式内存.导致了对那些重用中间结果的 应用不是很有效 这些应用的特点是在多个并行操作 之间重用数据.例如机器学习中的PageRank算法、K— means聚类算法、逻辑回归算法等迭代式算法。交互式 的数据挖掘算法中也经常重用数据。Spark计算模型刚 好解决了这些问题,并且能在Had0op集群下部署。访 问HDFS文件系统 Spark将分布式内存抽象成弹性分 布式数据集(Resilient Distributed Datasets。RDD)【l】。 RDD支持基于工作集的应用,同时具有数据流模型的特 点:自动容错、位置感知调度和可伸缩性。RDD允许用户 在执行多个查询时显式地将工作集缓存在内存中.以便 后续的查询能够重用.这极大地提升了查询速度 1 Spark简介 Spark是UC Berkeley AMPLab于2009年发起的. 然后被Apache软件基金会接管的类Had00D MapRe duce通用性并行计算框架.是当前大数据领域最活跃 的开源项目之一。Spark是基于MapReduce计算框架实 现的分布式计算.拥有Hadoop MapReduce所具有的优 点:但不同于MapReduce的是中间输出和结果可以保 存在内存中.从而不再需要读写HDFS.因此Spark更 适用于数据挖掘与机器学习等需要迭代的算法 如图1 所示.逻辑回归算法在Hadoop和Spark上的运行时间 对比图,可以看出Spark的效率有很大的提升[31。 Spark由Scala阿语言实现的.Scala是一种基于JVM 的函数式编程语言.提供了类似DryadLINQ ̄的编程接 口。而且Spark还提供了一个修改的Scala语言解释 器,能方便地用于交互式编程,用户可以定义变量、函 数、类以及RDD Spark集成了丰富的编程工具.其中Spark SOL用 于SQL语言和结构化数据处理,Spark Streaming用于 流处理,MUib用于机器学习算法.GraphX用于图处 理。Spark不但能够访问多种数据源,例如HDFS、 Cassandra、HBase、Amazon S3,还提供了Scala、Java和 Python三种语言的API接口.以便于编写并行程序。而 且Spark还能部署在已有的Had0op系统上,由YARN 进行集群调度,极大地利用了Had00p系统。 现代计算机 2015.03中I
龙源期刊网
基于Spark的大数据计算模型
作者:王磊 时亚文
来源:《电脑知识与技术》2016年第20期
摘要:作为第三代机器学习工具,spark被视为替换Hadoop的下一代数据处理解决方案.包括了迭代计算、批处理计算、内存计算、流式计算、数据查询分析计算及图计算,提供了强大的内存计算引擎.Spark有望成为下一代大数据热门框架.研究分析了Spark组件生态圈和Lambda架构.最后介绍了Spark应用于机器学习领域.
关键词:机器学习;spark;Hadoop
中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2016)20-0007-02
Abstract:As the third generation of machine learning tools, spark is considered as the next
generation of data processing solution to replace Hadoop, including the iterative calculation, batch
calculation, memory computing, flow calculation, data query analysis and graph calculation. It
provides a powerful memory computing engine.Spark, which is the next generation of big data
popular framework.
Key words:Machine learning; spark; Hadoop
大数据通常分为批量数据流及实时数据流。两种流类型都有各自解决方案,前者通常采用MPI、OpenMP及Hadoop等并行模型进行集群计算,后者采用流数据模型进行处理,如
龙源期刊网
基于Spark的大数据挖掘技术分析
作者:于晶
来源:《智富时代》2019年第11期
【摘 要】文章主要介绍了以Spark为基础的大数据挖掘,首先分析了以Spark为基础的大数据生态系统,其次介绍了分布式集群与开发环境构建,再次介绍了Apriori算法实现,最后分析了以Spark为基础的分布协同过滤推荐。
【关键词】Spark;大数据;挖掘技术
因为大数据具有多样性、数据量大等特点,所以在大数据分析过程中,对于数据处理效率、速度以及实时性拥有较高要求。数据挖掘主要是以海量信息为目标,通过建模算法,找到隐藏的有用信息,充分发挥大数据价值。Spark体系主属于一种低延迟分布系统,以大范围数据集合为对象进行计算分析等操作,借助Spark进行大数据挖掘工作,能够提高数据挖掘效率,发挥出大数据挖掘优势。
一、以Spark为基础的大数据系统
(一)Spark Runtime
Spark Core中的相关功能包括内存管理和任务调度等内容,内含故障修复和存储交互相关子元素。通过RDD结构在Spark中传送数据包的过程中,应该率先掌握Spark处理关键数据的操作流程,相关数据信息和对象概念之间较为相似。首先全部的数据集都被分成数个子集,而每个子集还能够被传输至集群相关节点当中进行有效处理分析。其次,能够妥善保存计算得到的中间结果,基于可靠性对问题进行详细思考,能够收获相同的计算结果,并在子集节点相关文件内进行备份储存。最后进行计算解析时,如果在处理数据子集过程中產生错误,则需要对子集进行重新整理,促进容错机制的有效落实。
(二)Graph X
在Spark中,Graph X是重要的子项目,为此应该以Spark为基础进行创建,对大规模图进行准确计算的基础上,融入Graph X,能够使Spark进一步扩展大图处理计算方式,同时添加其他组件,实施系统融合,能够提升整体数据处理能力,保障其中各种应用都可以通过多种场景进行信息采集。其中Graph X的主要功能为帮助采集运输计算过程中所需要的数据图形运行符号,由于类库存在诸多定义,具体包括优化操作符与核心操作符,同时其中一部分还被定义于Graph OPS操作符内。通过隐性SCALE语言对特征进行合理转换的过程中,能够控制调节Graph OPS操作符。而Graph X内,还能以多种分布式集群为基础实施图运算,拥有充足的API接口,特别是在大图满足相应的规模后,需要对相关算法进行深入优化,从而为后期针对龙源期刊网