Spark02 - SparkContext介绍

一、应用入口:SparkContext

Spark Application 程序入口为:SparkContext,任何一个应用首先需要构建 SparkContext 对象,如下两步构建:

  • 第一步、创建 SparkConf 对象
    • 设置 Spark Application 基本信息,比如应用的名称 AppName 和应用运行 Master
  • 第二步、基于 SparkConf 对象,创建 SparkContext 对象
python 复制代码
# Import SparkConf class into program
from pyspark import SparkConf
# Import SparkContext and SparkSession classes
from pyspark import SparkContext # Spark
from pyspark.sql import SparkSession # Spark SQL

if __name__=="__main__":
    # local[*]: run Spark in local mode with as many working processors as logical cores on your machine
    # If we want Spark to run locally with 'k' worker threads, we can specify as "local[k]".
    master = "local[*]"
    # The `appName` field is a name to be shown on the Spark cluster UI page
    app_name = "RDD-basics"
    # Setup configuration parameters for Spark
    spark_conf = SparkConf().setMaster(master).setAppName(app_name)

    # Method 2: Getting or instantiating a SparkContext
    sc = SparkContext.getOrCreate(spark_conf)
    sc.setLogLevel('ERROR')

    data_list = [1, 2, 3, 3]
    rdd = sc.parallelize(data_list)
    print(rdd.collect())

二、spark实现wordCount程序的流程图

三、Spark集群角色

当spark application运行在集群上时,主要有四个部分组成,如下图所示:

1)、Master (被yarn中的 ResourceManager 代替):集群大管家,整个集群的资源管理和分配

2)、Worker (被yarn中的 NodeManager 代替):单个机器的管家,负责在单个服务器上提供运行容器,管理当前机器的资源.

3)、Driver:单个 Spark 任务的管理者,管理 Executor 的任务执行和任务分解分配,类似 YARN 的 ApplicationMaster;

4)、Executor:具体干活的进程,Spark 的工作任务 (Task) 都由 Executor 来负责执行.

【注意】:

只有干活的代码是excutor运行的,其余剩下的都是由driver运行的。

四、分布式代码执行分析

对应的流程如图:

代码从Driver开始,到Driver结束,中间是excutor分布式运行。

写的是一份代码,但是底层执行的是好多个excutor(机器)

五、Python on Spark执行原理

driver由JVM driver运行(翻译),excutor由python excutor运行。

  • Driver翻译过去
  • Excutor中转调度。
相关推荐
Thomas21436 小时前
spark pipeline 转换n个字段,如何对某个字段反向转换
大数据·ajax·spark
孟意昶9 小时前
Spark专题-第三部分:性能监控与实战优化(1)-认识spark ui
大数据·数据仓库·sql·ui·spark·etl
Q264336502311 小时前
【有源码】基于Hadoop+Spark的豆瓣电影数据分析与可视化系统-基于大数据的电影评分趋势分析与可视化系统
大数据·hadoop·python·数据分析·spark·毕业设计·课程设计
Lansonli15 小时前
大数据Spark(六十四):Spark算子介绍
大数据·分布式·spark
梦想养猫开书店17 小时前
38、spark读取hudi报错:java.io.NotSerializableException: org.apache.hadoop.fs.Path
java·spark·apache
IT毕设梦工厂18 小时前
大数据毕业设计选题推荐-基于大数据的全球经济指标数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
Leo.yuan1 天前
ODS 是什么?一文搞懂 ODS 与数据仓库区别
大数据·数据仓库·数据挖掘·数据分析·spark
哈哈很哈哈2 天前
Spark核心Shuffle详解(二)ShuffleHandler
大数据·分布式·spark
IvanCodes2 天前
PySpark 安装教程及 WordCount 实战与任务提交
大数据·python·spark·conda
计算机毕设残哥2 天前
紧跟大数据技术趋势:食物口味分析系统Spark SQL+HDFS最新架构实现
大数据·hadoop·python·sql·hdfs·架构·spark