spark.docx

上传人:b****2 文档编号:3092849 上传时间:2023-05-05 格式:DOCX 页数:7 大小:17.14KB
下载 相关 举报
spark.docx_第1页
第1页 / 共7页
spark.docx_第2页
第2页 / 共7页
spark.docx_第3页
第3页 / 共7页
spark.docx_第4页
第4页 / 共7页
spark.docx_第5页
第5页 / 共7页
spark.docx_第6页
第6页 / 共7页
spark.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

spark.docx

《spark.docx》由会员分享,可在线阅读,更多相关《spark.docx(7页珍藏版)》请在冰点文库上搜索。

spark.docx

spark

spark

SparkRDD系列----3.rdd.coalesce方法的作用当spark程序中,存在过多的小任务的时候,可以通过RDD.coalesce方法,收缩合并分区,减少分区的个数,减小任务调度成本,避免Shuffle导致,比RDD.repartition效率提高不少。

rdd.coalesce方法的作用是创建CoalescedRDD,源码如下:

defcoalesce(numPartitions:

Int,shuffle:

Boolean=f...

2016-03-3118:

32

阅读(1154)

评论(0)spark解决方案系列--------1.spark-streaming实时Join存储在HDFS大量数据的解决方案spark-streaming实时接收数据并处理。

一个非常广泛的需求是spark-streaming实时接收的数据需要跟保存在HDFS上的大量数据进行Join。

要实现这个需求保证实时性需要解决以下几个问题:

1.spark-streaming的数据接收间隔往往很小,比如只有几秒钟。

HDFS上的数据如果很大的话,不能每个接收batch都从HDFS读取数据,避免频繁大量磁盘I/O

2.HDFS大量...

2016-03-3010:

05

阅读(2651)

评论

(1)SparkSQL系列------2.SparkSQLAggregate操作的实现

vertical-align:

-3px;

margin-left:

10px;

">本篇文章主要将Aggregate操作的时候的数据存储和实现过程...

2016-03-0218:

03

阅读(770)

评论

(1)SparkSQL系列------1.SparkSQL物理计划的Shuffle实现SparkSQL物理计划要到Spark-core执行,需要将SparkSQL物理计划转化成RDD,并且建立RDD之间的依赖关系。

这个过程可以通过如下图大概表示:

上图中绿色部分指Spark物理计划到RDD过程中数据结构的变迁过程。

黄色部分表示变迁过程中,实现加工作用的数据结构。

...

2016-02-2514:

25

阅读(941)

评论(0)Spark通过mapPartitions方式加载Json文件,提高文件加载速度这几天遇到了需要从hdfs加载json字符串,然后转化成json对象的场景。

刚开始的实现方式见如下代码:

valloginLogRDD=sc.objectFile[String](loginFile,loadLoginFilePartitionNum)

.filter(jsonString=>{

//valloginItem=line.toString...

2016-01-1318:

37

阅读(744)

评论(0)spark-streaming系列-------5.Spark-Streamingcheckpoint的原理和实现本文以KafkaDirectDStream方式为例说明Spark-Streamingcheckpoint的原理

JobGenrerator.generateJobs负责StreamingJob的产生,产生并且提交执行Job之后,会发送DoCheckpoint事件,源码如下:

privatedefgenerateJobs(time:

Time){

//Setthe...

2015-12-3118:

34

阅读(1462)

评论

(1)Spark调度系列-----5.Sparktask和Stage的跳过执行(ui显示task和stageskipped)在spark的首页ui上经常显示任务和Stage被skipped,如以下截图所式:

本文将阐述什么情况下Stage或者Task会被置为skipped,以及stage和task被值skipped之后是否sparkapplication执行会出问题?

当一个SparkJob的ResultStage的最后一个Task成功执行之后,DAGScheduler.handleTaskCo...

2015-12-2217:

46

阅读(3076)

评论(6)sparkRDD系列------2.HadoopRDD分区的创建以及计算Spark经常需要从hdfs读取文件生成RDD,然后进行计算分析。

这种从hdfs读取文件生成的RDD就是HadoopRDD。

那么HadoopRDD的分区是怎么计算出来的?

如果从hdfs读取的文件非常大,如何高效的从hdfs加载文件生成HadoopRDD呢?

本篇文章探讨这两个问题。

SparkContext.objectFile方法经常用于从hdfs加载文件,从加载hdfs文件到生成Had...

2015-11-2614:

21

阅读(1400)

评论

(1)SparkRDD系列-------1.决定SparkRDD分区算法因素的总结RDD在调用引起Shuffle的方法的时候,如果没有显示指定ShuffledRDD的分区,那么会调用Partitioner.defaultPartitioner方法来确定ShuffledRDD的分区,比如RDD.combineByKey:

defcombineByKey[C](createCombiner:

V=>C,mergeValue:

(C,V)=>C,mergeCombi...

2015-11-2517:

51

阅读(1708)

评论(0)spark-streaming系列-------4.Spark-StreamingJob的生成和执行Spark-StreamingJob的生成和执行可以通过如下图表示:

Spark-StreamingJob的生产和和执行由以下3个部分相互作用生成:

Driver程序:

用户通过编写Driver程序描述了DStream的依赖关系,Driver程序根据DStream描述的依赖关系描述了RDD的依赖关系,也就是描述了StreamingJob的逻辑执行图

Spark-Streaming...

2015-10-2914:

13

阅读(655)

评论(0)Sparkstorage系列------3.Sparkcache数据块之后对后继Job任务调度的影响,以及后继JobTask执行的影响DAGScheduler.submitStage建立Spark应用的物理执行图,DAGScheduler.submitStage通过调用DAGSchdeuler.getMissingParentStages找到一个Stage的祖宗Stage并把祖宗Stage加入到物理执行图中。

在这里如果发现依赖的RDD的全部分区已经存储到了BlockManager,也就是已经成功Cache,那么这个RDD以及它的...

2015-10-2209:

51

阅读(546)

评论(0)Sparkstorage系列------2.Sparkcache数据块的读取如下时序图表示了RDD.persist方法执行之后,Spark是如何cache分区数据的。

时序图可放大显示

本篇文章中,RDD.persist(StorageLevel)参数StorageLevel为:

MEMORY_AND_DISK_SER_2=newStorageLevel(true,true,false,false,2)

也就是cache数据的时候,如...

2015-10-2116:

48

阅读(567)

评论(0)Sparkstorage系列------1.SparkRDD.persist对数据的存储如下时序图表示了RDD.persist方法执行之后,Spark是如何cache分区数据的。

本篇文章中,RDD.persist(StorageLevel)参数StorageLevel为:

MEMORY_AND_DISK_SER_2=newStorageLevel(true,true,false,false,2)

也就是cache数据的时候,如果有足够的内存则将数据cache...

2015-10-2110:

50

阅读(3129)

评论(0)SparkShuffle系列-----3.sparkshufflereduce操作RDDpartition的生成本篇文章以RDD.aggregateByKey引起的SortShuffleWriter为例说明Shufflemap端的原理和实现,为了便于说明问题这里的所有执行流程都是默认执行流程

为了便于说明问题,本文中Stage1是shufflemap操作所在的Stage,Stage2是shufflereduce操作所在的Stage,本文中spark.shuffle.blockTransf...

2015-10-1518:

02

阅读(1006)

评论(0)SparkShuffle系列-----2.SparkShufflemap端的原理和实现本篇文章以RDD.aggregateByKey引起的SortShuffleWriter为例说明Shufflemap端的原理和实现...

2015-10-1413:

46

阅读(1013)

评论(0)SparkShuffle系列-----1.SparkShuffle与任务调度之间的关系Spark根据RDD间的依赖关系是否是Shuffle依赖进行Stage的划分,先执行的Stage标记为Stage1,后执行的Stage标记为Stage2。

Shuffle是Stage分2步操作

Map操作和Recude操作可以通过下面这个图表示出来:

1.Map操作。

Map操作在Stage1结束的时候执行;Map操作的作用是将Stage1阶段的一个pa...

2015-10-1318:

17

阅读(1199)

评论(0)spark调度系列------4.RDD依赖的建立以及RDD依赖在任务提交到调度系统的作用Spark中RDD依赖的类关系如下图:

...

2015-09-2513:

51

阅读(595)

评论(0)spark-streaming系列-------3.KafkaDirectDStream方式数据的接收

vertical-align:

-3px;

margin-left:

10px;

">KafkaRDD分区个数的确定和每个分区数据接收的计算在KafkUtils.createDirectStream创建了DirectDStream,代码如下:

defcreateDirectStream[

K:

ClassTag,

V:

ClassTag,

KD<:

Decoder[K]:

ClassTag,

VD<:

Decoder[V]:

ClassTag]...

2015-09-2311:

36

阅读(1803)

评论

(1)Spark调度系列-----3.SparkContext对象的创建和SparkContext的作用SparkContext是SparkApplication程序的表示。

在Driver程序中首先创建SparkContext对象,在创建这个对象的时候,SparkApplication运行需要的重要参数会在这里初始化。

下面的图表述了SparkContext创建初始化的重要参数。

DAGSchedule的作用:

SparkStage的切分等功能,它主要描述了SparkAppli...

2015-09-1718:

35

阅读(916)

评论(0)spark调度系列------2.SparkExecutor的创建和启动过程上一讲主要降到了sparkexecutor资源在Master的分配原理。

今天来讲SparkExecutor的创建和启动过程。

创建的过程可以功过如下时序图表示:

在Standalone模式下,Backend.start()方法最终调用了SparkDeploySchedulerBackend.start(),这个方法的作用是:

1.调用父类的CoarseGrainedSchedu...

2015-09-1610:

44

阅读(1877)

评论

(2)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2