~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的分区数据就行。
相关推荐
这些功能使得用户能够创建个人档案,寻找志同道合的朋友,分享生活点滴,并参与各种社交活动。 "Program"这个文件名可能指的是该系统的程序代码或者安装包。在开发过程中,程序通常由前端和后端两部分组成。前端...
《Java程序员上班那点事儿》这本书,正如其名,旨在揭示Java程序员在日常工作中的点滴细节,帮助初入职场或有经验的开发者更好地理解和应对工作中的挑战。书中涵盖了许多实际问题和解决方案,旨在提升读者的技能水平...
大数据22102班的成长档案,这不仅仅是一个压缩文件,它更像是一个珍贵的时间胶囊,记录了这个班级在大数据学习旅程中的点滴进步和成就。在这个数字化的时代,大数据已经成为信息技术领域的重要分支,对于培养具备...
"记事狗-微博系统"是一款以社交网络为基础的平台,旨在提供类似于微博的服务,让用户可以分享生活点滴、发表观点、关注他人动态。这个系统的名字“记事狗”可能源于其核心功能,即帮助用户记录和分享日常生活中的...
- **Adobe Spark**:Adobe公司的在线工具,可制作网页、视频和图形,包括电子相册。提供了丰富的模板和自定义选项。 - **FotoMix**:除了基本的相册制作,还支持图片合成和拼贴,适合创意型的电子相册制作。 - **...
“til:今天我学到了”这样的分享可以是任何这些领域的点滴,无论是解决了一个棘手的bug,还是理解了一个复杂的概念,都是IT学习旅程中的宝贵经验。记住,IT知识的海洋广阔无垠,持续学习和分享是成为优秀IT专业人员...