~spark的核心是把数据源抽象为分布式对象RDD,分布在各个计算节点的内存中。本地计算+内存+集群计算使得spark效率比较高。
~对于用户来说RDD自带各种算子,使得编写分布式程序和本地程序一样,而spark通过把RDD的算子转换成各个实际工作的task,并把task的序列化为class字节码,从而能在各个计算节点反序列化,加载并运行。
~,每个新的action操作都会使整个RDD重新计算,可以使用缓存解决。
~.sc.textFile()时,数据并没有读取进来,和转换操作一样,读取数据操作也有可能会被多次读取,这个是浪费内存的
~,RDD由分布在不同节点上的partition组成,partition是最小单位,每个分区上运行一个task, spark程序可以通过分区控制数据分布,以获得最少的网路传输。尽量使计算和数据在同一个节点,以此来提升性能。
~,如果两个RDD进行关联操作,可以先将大的RDD进行分区和持久化,使得小的RDD数据传输到大的RDD所在的分区,节省了网路传输。像reduceByKey,groupByKey等都会进行分区。控制好能提升性能。
~,累加器是讲工作节点中的值聚合到驱动器程序中的简单语法。
~,RDD闭包内的变量是会copy到每个Task中,但是广播变量只会copy至每个节点。如果变量数据量很大,则广播变量能提升性能。
~,基于分区对数据进行操作,可以避免为每个数据元素进行重复的配置工作,如数据库连接等。
~,yarn-client模式,客户端启动后直接运行用户程序,启动Driver相关的工作,driver向ClusterMaster注册,clusterMaster启动executor,另外driver充当AppMaster角色,即在客户端将RDD的一系列操作转换成DAG图,DAG图提交给DAGScheduler解析成一个个Stage,每个Stage由多个Task组成。然后把Task发送给个Executor执行。
~,yarn-cluster模式,客户端启动后提交app给ClusterMaster, clustMaster在一个executor启动driver,执行RDD为一系列task,分发至各executor执行。
~,spark基于yarn框架执行,spark的clustermaster即resourcemanager, spark的driver功能即yarn的AppMaster功能。spark的executor即yarn的container
~,窄依赖的RDD操作会在一个 stage内。
~,hadoop的configuration会广播至各个node节点上。
~,stage之间是依次执行的,不能并行
~,每个Spark应用可以有多个action操作,每个action操作触发一个job,每个job由多个stage组成,stage的划分是从触发的job的Rdd开始的(也就job的最后一个RDD),遇到宽依赖即确定宽依赖之后的RDD为一个stage,因此每一个stage结尾都是一个宽依赖,每个stage内的rdd操作由相同的Task执行,Task有两类,一类是ShuffleMapTask,用来处理stage内的所有操作直到宽依赖的shuffle过程,另一个Task类型是ResultTask,是最后一个stage的Task,因为他要负责此job的最终结果计算,并汇报给driver.
~,checkpoint机制实际上是将RDD的所有依赖计算的结果存入CheckPointRDD中,以此来替换依赖的rdd,下次计算时直接取checkpointrdd的分区数据就行。
相关推荐
Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql),总结的很全面。 Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql)。 Spark零基础思维导图(内含spark-core ,spark-streaming,...
《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...
Spark 入门实战系列,适合初学者,文档包括十部分内容,质量很好,为了感谢文档作者,也为了帮助更多的人入门,传播作者的心血,特此友情转贴: 1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建....
SparkTI (Spark on TiDB)是TiDB基于Apache Spark的独立于原生系统的计算引擎。它将Spark和TiDB深度集成,在原有MySQL Workload之外借助Spark支持了更多样的用户场景和API。这个项目在SparkSQL和Catalyst引擎之外实现...
本资料是集合20篇知网被引最高的基于spark的大数据论文,包括大数据Spark技术研究_刘峰波、大数据下基于Spark的电商实时推荐系统的设计与实现_岑凯伦、基于Spark的Apriori算法的改进_牛海玲、基于Spark的大数据混合...
├─Spark-day01 │ 01-[了解]-Spark发展历史和特点介绍.mp4 │ 03-[掌握]-Spark环境搭建-Standalone集群模式.mp4 │ 06-[理解]-Spark环境搭建-On-Yarn-两种模式.mp4 │ 07-[掌握]-Spark环境搭建-On-Yarn-两种...
spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包...
使用命令./bin/spark-shell启动spark 图2启动spark 2. Spark读取文件系统的数据 (1) 在spark-shell中读取Linux系统本地文件“/home/hadoop/test.txt”,然后统计出文件的行数; 图3 spark统计行数 (2) 在spark-...
Spark实战高手之路 【Spark亚太研究院系列丛书】《Spark机器学习库(v1.2.0)》-王宇舟 【Spark亚太研究院系列丛书】Spark实战高手之路-第1章(1) 【Spark亚太研究院系列丛书】Spark实战高手之路-第1章(2) ...
spark笔记整理文档spark笔记整理文档spark笔记整理文档
1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战....
0基础spark,基于spark2,内容完整全面,学完精通spark
An Architecture for Fast and General Data Processing on Large Clusters.pdf Discretized Streams An ...Spark SQL Relational Data Processing in Spark.pdf spark.pdf 大型集群上的快速和通用数据处理架构.pdf
Apache Spark 2.0 for Beginners English | ISBN: 1785885006 | 2016 | Key Features This book offers an easy introduction to the Spark framework published on the latest version of Apache Spark 2 Perform ...
Apache Spark 2.4 comes packed with a lot of new functionalities and improvements, including the new barrier execution mode, flexible streaming sink, the native AVRO data source, PySpark’s eager ...
spark与sparkStreaming经典视频教程,学习spark和sparkStreaming非常经典得课程,提供代码,环境,本人之前购买得教程,分享给大家,同时欢迎大家和我一起交流
spark相关jar包
1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战....
本课程主要讲解的内容包括:Scala编程、Hadoop与Spark集群搭建、Spark核心编程、Spark内核源码深度剖析、Spark性能调优、Spark SQL、Spark Streaming。 本课程的最大特色包括: 1、代码驱动讲解Spark的各个技术点...
本课程论文阐述了spark和spark集成开发环境Intellij IDEA的安装与操作,也详细说明了基于Spark的电影推荐系统的开发流程。推荐引擎是最常用的机器学校应用,我们可以在各大购物网站上看到这方面的应用。基于Spark的...