spark初识

随笔说明:由于参加了上海交大组织的飞谷云项目,而且报名第三组:基于Spark的机器学习。于是打算先花时间把Spark的基础学习学习。这次学习的参考书选择的是Spark的官方文档(这个肯定是最权威的)和机械工业的《Spark大数据处理   技术、应用与性能优化》;届时肯定还有项目组提供的学习资料。

1.Spark简介

1.1概念

Spark是基于内存计算的大数据并行计算框架。它基于内存计算,提高了实时性,保证了高容错性和高可伸缩性,允许用户将它部署在大量廉价硬件之上,形成集群。

Spark之于Hadoop:Spark只是一个计算框架,而hadoop中包含计算框架MapReduce和分布式文件系统HDFS,更加广泛的说,Hadoop还包括在其生态系统上的其他系统,如Hbase,Hive等。

Spark是MapReduce的替代,而且兼容HDFS,Hive等分布式存储层,可融入Hadoop生态系统,以弥补缺失MapReduce的不足。

Spark相对于Hadoop的优势如下:

(1)无需将中间结果输出到HDFS

(2)RDD

(3)执行策略,有向无环图DAG

1.2Spark生态系统BDAS(伯克利数据分析栈)

Spark是整个BDAS的核心组件,将分布式数据抽象为弹性分布式数据集(RDD),实现了任务调度、RPC、序列化和压缩。

Spark将数据在分布式环境下分区,然后将作业转化为有向无环图,并分阶段进行DAG的调度和任务的分布式并行处理。

1.3Spark架构

Spark架构采用了分布式计算中的Master-Slave模型。Master是对应集群中的含有Master进程的节点,作为整个集群的控制器,负载整个集群的正常运行;Slave是集群中含有Worker进程的节点。Worker相当于是计算节点,接受主节点命名与进行状态汇报。

1.4Spark运行逻辑

图中的A,B,C,D,E,F分别代表不同的RDD,RDD内的方框代表分区。数据从HDFS输入Spark,形成RDD A和RDD C,RDD C上执行map操作,转化为D,B,E执行join操作,转换为F,而在B和E连接转化为F的过程中又会执行Shuffle,最后F通过函数saveAsSequenceFile输出并保存到HDFS中。

1.5Spark分布式架构与单机多核架构的异同

单机多核环境下,多CPU共享内存和磁盘;而分布式并行处理系统是由许多松耦合的处理单元组成的,每个单元内的CPU都有自己的资源,如总线,内存,硬盘等。其最大的特点就是不共享资源,即计算能力和存储扩展性可以成倍增长。

时间: 2024-10-20 20:12:02

spark初识的相关文章

RDD机制实现模型Spark初识

Spark简介 Spark是基于内存计算的大数据分布式计算框架.Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性.       在Spark中,通过RDD(Resilient Distributed Dataset,弹性分布式数据集)来进行计算,这些分布式集合,并行的分布在整个集群中.RDDs是Spark分发数据和计算的基础抽象类. RDD属性: - A list of partitions - A function for computing eac

Scala学习之路 (一)Spark初识

一.官网介绍 官网地址:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能 spark是一个实现快速通用的集群计算平台.它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的.低延迟的数据分析应用程序.它扩展了广泛使用的MapReduce计算 模型.高效的支撑更多计算模式,包括交互式查询和流处理.spark的一个主要特点是能够在内存中进行计算,及时依赖磁盘进

Spark学习(一) Spark初识

一.官网介绍 1.什么是Spark 官网地址:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能 spark是一个实现快速通用的集群计算平台.它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的.低延迟的数据分析应用程序.它扩展了广泛使用的MapReduce计算 模型.高效的支撑更多计算模式,包括交互式查询和流处理.spark的一个主要特点是能够在内存中进

Spark学习之路 (一)Spark初识 [转]

官网介绍 什么是Spark 官网地址:http://spark.apache.org/ Apache Spark?是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能. spark是一个实现快速通用的集群计算平台.它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的.低延迟的数据分析应用程序.它扩展了广泛使用的MapReduce计算模型.高效的支撑更多计算模式,包括交互式查询和流处理.spark的一个主要特点是能够在内存中进行计算,

2019大数据学习方向【最新分享】

一.大数据运维之Linux基础打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等.因为企业中的项目基本上都是使用Linux环境下搭建或部署的. 1)Linux系统概述2)系统安装及相关配置?3)Linux网络基础?4)OpenSSH实现网络安全连接?5)vi文本编辑器 6)用户和用户组管理7)磁盘管理?8)Linux文件和目录管理?9)Linux终端常用命令?10)linux系统监测与维护 二.大数据开发核心技术 -

初识spark的MLP模型

初识Spark的MLP模型 1. MLP介绍 Multi-layer Perceptron(MLP),即多层感知器,是一个前馈式的.具有监督的人工神经网络结构.通过多层感知器可包含多个隐藏层,实现对非线性数据的分类建模.MLP将数据分为训练集.测试集.检验集.其中,训练集用来拟合网络的参数,测试集防止训练过度,检验集用来评估网络的效果,并应用于总样本集.当因变量是分类型的数值,MLP神经网络则根据所输入的数据,将记录划分为最适合类型.常被MLP用来进行学习的反向传播算法,在模式识别的领域中算是标

初识Spark(Spark系列)

1.Spark Spark是继Hadoop之后,另外一种开源的高效大数据处理引擎,目前已提交为apach顶级项目. 效率: 据官方网站介绍,Spark是Hadoop运行效率的10-100倍(随内存计算.磁盘计算的不同而不同). 语言: 支持的语言包括java.scala.python等,此外还支持SQL查询. 模块: Spark的模块分为 Spark SQL. MLlib. GraphX. Spark Streaming四个模块,在同一个应用中可以无缝的使用以上四个模块. 运行环境: Hadoo

spark udf 初识初用

直接上代码,详见注释 import org.apache.spark.sql.hive.HiveContext import org.apache.spark.{SparkContext, SparkConf} /** * Created by zxh on 2016/6/10. */ object UDF_test { def main(args: Array[String]): Unit = { val conf = new SparkConf() implicit val sc = new

初识Spark

Spark特点 Spark是Apache的一个顶级项目,Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎.Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark拥有Hadoop MapReduce所具有的优点:但不同于MapReduce的是--Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapRe