sparkCore
murphyZ
这个作者很懒,什么都没留下…
展开
-
三、Spark集群启动流程、任务提交流程以及任务提交的四个阶段
1、集群启动流程和任务提交流程概述2、checkpoint检查点2.1)、checkpoint的应用场景:在应用程序的执行过程中,有时候某些RDD的数据需要在其它地方多次用到(包括其它job中用到),为了使得整个依赖链条,不至于很长导致执行缓慢,可以用checkpoint来缩短依赖链条.最好把数据checkpoint到HDFS,保证了数据的安全性,便于在用数据的时候进行拉取.执行过程...原创 2019-03-05 11:22:32 · 265 阅读 · 0 评论 -
Checkpoint检查点
checkpoint检查点1)、checkpoint的应用场景:在应用程序的执行过程中,有时候某些RDD的数据需要在其它地方多次用到(包括其它job中用到),为了使得整个依赖链条,不至于很长导致执行缓慢,可以用checkpoint来缩短依赖链条.最好把数据checkpoint到HDFS,保证了数据的安全性,便于在用数据的时候进行拉取.执行过程:在代码层面是这样执行的,如果用到某个RDD...原创 2019-03-08 09:33:52 · 765 阅读 · 0 评论 -
Spark的历史与发展
对于一个具有相当技术门槛与复杂度的平台,Spark从诞生到正式版本的成熟,经历的时间如此之短,让人感到惊诧。2009年,Spark诞生于伯克利大学AMPLab,最开初属于伯克利大学的研究性项目。它于2010年正式开源,并于2013年成为了Aparch基金项目,并于2014年成为Aparch基金的顶级项目,整个过程不到五年时间。下面点滴记录 Spark 的版本发展过程。now2018-02-2...转载 2019-03-11 10:53:55 · 1204 阅读 · 0 评论 -
六、spark部署模式(资源调度模式)
1、资源调度模式1.1、local模式(本地)运行该模式非常简单,只需要把Spark的安装包解压后,改一些常用的配置即可使用,而不用启动Spark的Master、Worker守护进程( 只有采用集群的Standalone方式时,才需要这两个角色),也不用启动Hadoop的各服务(除非要用到HDFS文件系统)。Spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定。将Sp...原创 2019-03-07 11:05:33 · 339 阅读 · 0 评论 -
一、sparkCore基础概念
一、spark概述1、What is spark?(官网链接:http://spark.apache.org)Spark是一种快速、通用、可扩展的大数据分析引擎。2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、...原创 2019-03-04 15:39:53 · 214 阅读 · 0 评论 -
二、弹性分布式数据集RDD
一、RDD概述1、概念RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。2、RDD属性:1)一...原创 2019-03-04 12:01:18 · 416 阅读 · 0 评论 -
reduceByKey、groupByKey以及combineByKey的区别
概述:这三种算子在spark中用的比较多。reduceByKey: 是对key的value进行merge操作,在一个(K,V)的RDD上调用,返回一个(K,V)的RDD,使用指定的reduce函数,将相同key的值聚合到一起,与groupByKey类似,reduce任务的个数可以通过第二个可选的参数来设置,最重要的是它能够在本地先进行merge操作,并且merge操作可以通过函数自定义;gr...原创 2019-03-04 11:04:09 · 666 阅读 · 0 评论 -
Spark Shuffe 参数调优(具体细节)
spark shufle参数调优 属性名称 默认值 属性说明 spark.reducer.maxSizeInFlight 48m reduce task的buffer缓冲,代表了每个reduce task每次能够拉取的map side数据最大大小,如果内存充足,可以考虑加大,从...原创 2019-03-05 20:37:07 · 205 阅读 · 0 评论 -
Accumulator累加器
1、累加器应用场景应用背景:在Executor进行计算的过程中,有些变量的值会在Executor多次使用,每次使用时,就要从driver端拿取一次,就会产生大量的网络IO,而且还会影响计算效率,此时就可以用广播变量的方式,在计算之前先把数据从driver端广播到相应的Executor端的缓存里,后期在使用的时候,就可以直接从缓存里拿取进行计算注意:广播变量过程,必须是把driver端的某...原创 2019-03-05 20:02:48 · 685 阅读 · 0 评论 -
四、spark的shuffle
1、shuffle过程1.1)、shuffle过程如下图:了解Spark的shuffle过程:shuffle操作是在Spark操作中调用了一些特殊的算子才会触发的一种操作,shuffle操作会导致大量的数据在不同的节点之间进行传输,因此,shuffle过程是Spark中最复杂、最消耗性能的一种操作。比如:reduceByKey算子会将上一个RDD中的每个key对应的所有value...原创 2019-03-05 19:44:13 · 502 阅读 · 0 评论 -
五、Stage划分过程
RDD的joinstage划分过程存储级别宽窄依赖任务提交的四个阶段算子间的区别map和mapPartitions的区别:map是处理RDD里的每个元素,mapPartitions适用于处理RDD的每个分区的map和foreach的区别:1.map是有返回值的,foreach没有返回值2.map常用于将某个RDD做元素的处理,而foreach常用于作为结果的输出到其它...原创 2019-03-05 11:33:45 · 1004 阅读 · 1 评论 -
七、算子间的区别
算子间的区别map和mapPartitions的区别:map是处理RDD里的每个元素,mapPartitions适用于处理RDD的每个分区的map和foreach的区别:1.map是有返回值的,foreach没有返回值2.map常用于将某个RDD做元素的处理,而foreach常用于作为结果的输出到其它的存储系统中3.map是属于transformation,foreach属于actio...原创 2019-03-08 10:30:09 · 224 阅读 · 0 评论