码迷,mamicode.com
首页 > 其他好文 > 详细

《OD学Spark》20161022

时间:2016-10-22 14:31:48      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:list   bsp   depend   object   shuffle   partition   编程   mapr   oal   

一、Spark Streaming

1. 什么是Spark Shuffle

Wide Dependencies

*ByKey: groupByKey,reduceByKey

关联操作:join,cogroup

 

窄依赖:

父RDD的每个分区的数据,仅仅只会给子RDD的一个分区。

Spark性能优化:

开发优化:

依据业务场景及数据,使用较好的RDD的方法

(1)能使用reduceByKey不要使用groupByKey

(2)适当的时候已经处理的数据RDD,进行重新分区

repartition

reduceByKey(func, numPartitions)

coalse

 

SCALA中的拉链编程

val rdd = sc.parallelize(List(1,2,3,4,5))

val rdd2 = sc.parallelize(List("aa", "bb", "cc", "dd", "ee"))

rdd.zip(rdd2)

rdd.zip(rdd2).collect

 

2. MapReduce Shuffle

Spark Stages

(1)ResultStage

Stage阶段运行Jobs输出结果

ResultTask

(2)ShuffleMapStage

Stage阶段的RDD会发生Shuffle过程,

ShuffleMapTask

每个Stage中的所有任务的逻辑处理相同(functions)

 

Spark Scheduler

RDD Objects -> DAGScheduler -> TaskScheduler -> Worker

 

《OD学Spark》20161022

标签:list   bsp   depend   object   shuffle   partition   编程   mapr   oal   

原文地址:http://www.cnblogs.com/yeahwell/p/5987289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!