微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spark复习八:简述Spark运行流程以及Spark分区以及简述SparkContext

1.简述Spark运行流程: 

1.构建Spark Application的运行环境,启动SparkContext
2. SparkContext向资源管理器(可以是Standalone, Mesos, Yarm)申请运行Executor资源, 并启动
StandaloneExecutorbackend
3. Executor向SparkContext申请Task
4. SparkContext将应用程序分发给Executor
5. SparkContext构建成DAG图,将DAG图分解成Stage、将Taskset发送给Task Scheduler,最后由Task Scheduler将Task发送
给Executor运行
6. Task在Executor上运行,运行完释放所有资源
 

2.简述Spark分区:

 Spark分区分为两个阶段:

在分布式文件系统上文件是分块存储的,将文件块发送给task,将文件进行partition分区,经过shuffle分组,shuffle分组发送给下一个Task进行运算。认情况下,每个核心一次执行一个任务,每个分区一个任务,每次分割一个分区。

3.简述sparkContext:

sparkContext是Spark的入口,相当于应用程序的main函数。 目前在一个JVM进程中可以创建多个SparkContext,但是只能有一个active级别的 如果你需要创建一个新的SparkContext实例,必须先调用stop方法停掉当前active级别的SparkContext实例。

      每一个Spark应用都是一个SparkContext实例,可以理解为一个SparkContext就是一个spark application的生命周期,一旦SparkContext创建之后,就可以用这个SparkContext来创建RDD、累加器、广播变量, 并且可以通过SparkContext访问Spark的服务,运行任务。spark context设置内部服务,并建立与spark执行环境的连接。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐