`

spark点滴

阅读更多

 

~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),总结的很全面.zip

    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内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...

    Spark 入门实战系列

    Spark 入门实战系列,适合初学者,文档包括十部分内容,质量很好,为了感谢文档作者,也为了帮助更多的人入门,传播作者的心血,特此友情转贴: 1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建....

    Spark和TiDB (Spark on TiDB)

    SparkTI (Spark on TiDB)是TiDB基于Apache Spark的独立于原生系统的计算引擎。它将Spark和TiDB深度集成,在原有MySQL Workload之外借助Spark支持了更多样的用户场景和API。这个项目在SparkSQL和Catalyst引擎之外实现...

    基于spark的大数据论文资料

    本资料是集合20篇知网被引最高的基于spark的大数据论文,包括大数据Spark技术研究_刘峰波、大数据下基于Spark的电商实时推荐系统的设计与实现_岑凯伦、基于Spark的Apriori算法的改进_牛海玲、基于Spark的大数据混合...

    spark3.0入门到精通

    ├─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 版本安装包spark Linux 版本安装包...

    实验七:Spark初级编程实践

    使用命令./bin/spark-shell启动spark 图2启动spark 2. Spark读取文件系统的数据 (1) 在spark-shell中读取Linux系统本地文件“/home/hadoop/test.txt”,然后统计出文件的行数; 图3 spark统计行数 (2) 在spark-...

    Spark实战高手之路 - Spark亚太研究院.part4.rar

    Spark实战高手之路 【Spark亚太研究院系列丛书】《Spark机器学习库(v1.2.0)》-王宇舟 【Spark亚太研究院系列丛书】Spark实战高手之路-第1章(1) 【Spark亚太研究院系列丛书】Spark实战高手之路-第1章(2) ...

    spark笔记整理文档

    spark笔记整理文档spark笔记整理文档spark笔记整理文档

    8.SparkMLlib(上)--机器学习及SparkMLlib简介.pdf

    1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战....

    Spark全面精讲(基于Spark2版本+含Spark调优+超多案例)【不是王家林版本】

    0基础spark,基于spark2,内容完整全面,学完精通spark

    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 for Beginners [2016]

    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 and beyond

    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和sparkStreaming非常经典得课程,提供代码,环境,本人之前购买得教程,分享给大家,同时欢迎大家和我一起交流

    spark相关jar包

    spark相关jar包

    8.SparkMLlib(下)--SparkMLlib实战.pdf

    1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战....

    Spark从入门到精通

    本课程主要讲解的内容包括:Scala编程、Hadoop与Spark集群搭建、Spark核心编程、Spark内核源码深度剖析、Spark性能调优、Spark SQL、Spark Streaming。 本课程的最大特色包括: 1、代码驱动讲解Spark的各个技术点...

    基于Spark的电影推荐系统

    本课程论文阐述了spark和spark集成开发环境Intellij IDEA的安装与操作,也详细说明了基于Spark的电影推荐系统的开发流程。推荐引擎是最常用的机器学校应用,我们可以在各大购物网站上看到这方面的应用。基于Spark的...

Global site tag (gtag.js) - Google Analytics