SparkPi 代码剖析4 | 学习笔记

开发者学堂课程【大数据实时计算框架 Spark 快速入门SparkPi 代码剖析4】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/100/detail/1679


SparkPi代码剖析4


内容介绍:

一、Speculation 机制

二、Taskscheduler 与 DAGscheduler

三、Job 调度流程

四、SparkPi 代码



一、Speculation 机制

spark 起同样的一个 task ,二者同时运行。


二、Taskscheduler 与 DAGscheduler

Taskscheduler 不知道每一个 stage 分别来自哪一个 job,

只把stage ,TaskSet 运行完,对于 DAGscheduler 才整体知道 job 的调度。


三、Job 调度流程

SparkPi  代码剖析4 | 学习笔记



四、 SparkPi 代码

object SparkPi {

def main (args: Array [String]) {

val conf = new SparkConf().setAppName("Spark Pi")

val spark = new Sparkcontext (conf)

val slices = if (args. length > 0) args (0). toInt else 2

val n = math.min(100000L* slices,Int.MaxValue).toInt // avoid overflow  

val count = spark. parallelize (1 until n, slices). map {i = >

val x = random*2-1

val y = random*2-1

if (x* x+ y y < 1) 1 else 0

}.reduce(_+_)

println ("Pi is roughly"+ 4.0* count/n)

spark. stop ()

}

}

上一篇:强大的HTML5幻灯片系统:H5Slides


下一篇:SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet