spark启动过程sparkconf实例化

【大数据技术详解】理解spark的三种运行模式与SparkConf,SparkContext,SparkSession它们三者之间相互的属性关系及其初始化过程 1.Spark 属性 Spark应用程序的运行是通过外部参数来控制的,参数的设置正确与否,好与坏会直接影响应用程序的性能,也就影响我们整个集群的性能。参数控制有以下方式: (1)直接设置在SparkConf,通过参数的形式传递给SparkContext,达到控制目的。(通过set()方法传入key-value对)比如: ... 阅读详情

SparkConf 的构造很简单,主要是通过 ConcurrentHashMap 来维护各种 Spark 的配置属性。 Spark 的配置属性都是以“spark.”开头的字符串。
这里写图片描述
现在开始介绍 SparkContext。 SparkContext 的初始化步骤如下:
1)创建 Spark 执行环境 SparkEnv;
2)创建 RDD 清理器 metadataCleaner;
3)创建并初始化 Spark UI;
4) Hadoop 相关配置及 Executor 环境变量的设置;
5)创建任务调度 TaskScheduler;
6)创建和启动 DAGScheduler;
7) TaskScheduler 的启动;
8)初始化块管理器 BlockManager(BlockManager 是存储体系的主要组件之一,将在第 4
章介绍);
9)启动测量系统 MetricsSystem;
10)创建和启动 Executor 分配管理器 ExecutorAllocationManager;
11) ContextCleaner 的创建与启动;
12) Spark 环境更新;
13)创建 DAGSchedulerSource 和 BlockManagerSource;
14)将 SparkContext 标记为激活。
SparkContext 的主构造器参数为 SparkConf,其实现如下。

class SparkContext(config: SparkConf) extends Logging with ExecutorAllocationClient {
private val creationSite: CallSite = Utils.getCallSite()
private val allowMultipleContexts: Boolean =
config.getBoolean("spark.driver.allowMultipleContexts", false)
SparkContext.markPartiallyConstructed(this, allowMultipleContexts)

上面代码中的 CallSite 存储了线程栈中最靠近栈顶的用户类及最靠近栈底的 Scala 或者Spark 核心类信息。 Utils.getCallSite 的详细信息见附录 A。 SparkContext 默认只有一个实例(由属性spark.driver.allowMultipleContexts 来控制,用户需要多个 SparkContext 实例时,可以将其设置为 true),方法 markPartiallyConstructed 用来确保实例的唯一性,并将当前 SparkContext标记为正在构建中。
接下来会对 SparkConf 进行复制,然后对各种配置信息进行校验,代码如下。

private[spark] val conf = config.clone()
conf.validateSettings()
if (!conf.contains("spark.master")) {
throw new SparkException("A master URL must be set in your configuration")
}
if (!conf.contains("spark.app.name")) {
throw new SparkException("An application name must be set in your configuration")
}

从上面校验的代码看到必须指定属性 spark.master 和 spark.app.name,否则会抛出异常,结束初始化过程。 spark.master 用于设置部署模式, spark.app.name 用于指定应用程序名称。

Sparksession,sparkcontext,sparksql,SparkConf是什么,他们之间什么联系? 目录 一.先从SparkContext和SparkConf开始: 1.SparkContext 是什么? 2、创建SparkContext的步骤: 3、SparkConf 二、SQLContext和HiveContext 1.SQLContext 是什么? 2.HiveContext 是什么? 三、SparkSession 其实对初学spark的同学来说,Sparksession,sparkcontext,sparksql,SparkConf看着都特别像,搞着搞着就混了,而且每次创... 阅读详情

相关推荐

Carsim与AVL CRUISE联合仿真:从零搭建整车模型的实战指南

本文详细介绍了如何从零开始搭建Carsim与AVL CRUISE联合仿真整车模型,涵盖软件环境配置、接口设置、模型连接及调试技巧。通过联合仿真,可充分发挥Carsim在车辆动力学和AVL CRUISE在动力系统仿真方面的优势,为电动车和混合动力汽车的研发提供精准的整车模型分析。

weixin_29067143的博客 938

Spark 1

Spark概述 什么是Spark 回顾:Hadoop主要解决,海量数据的存储和海量数据的分析计算。 Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。 Hadoop与Spark历史 Hadoop的Yarn框架比Spark框架诞生的晚,所以Spark自己也设计了一套资源调度框架。 Hadoop与Spark框架对比 Spark内置模块 Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集

sj天问的博客 796

GPU运维基础知识

常见的GPU型号如NVIDIA Tesla系列(V100、A100)、GeForce RTX系列(3090、4090)和AMD Instinct系列(MI250X)。硬件监控工具包括NVIDIA的nvidia-smi和AMD的rocm-smi,用于实时监控GPU状态、温度、功耗和显存使用情况。NVIDIA和AMD是主流GPU供应商,NVIDIA的CUDA架构和AMD的ROCm生态是核心。GPU包含流处理器、显存、显存带宽等关键组件,不同型号的GPU在计算能力、显存容量和功耗上存在差异。

云原生运维的博客 762

spark的几种模式的比较

在spark的学习中,spark一共有四种模式,分别是: spark基于local spark基于standalone spark基于yarn spark基于metsos   Standalone模式两种提交任务方式 Standalone-client提交任务方式 提交命令 ./spark-submit --master spark://node1:7077 -...

wyqwilliam的博客 2633

实战解析:如何用Python逆向破解FastMoss的TikTok数据加密签名(附完整代码)

本文详细解析了如何用Python逆向破解FastMoss平台的TikTok数据加密签名机制,包括MD5加密算法和JS逆向分析。通过完整的Python代码示例,帮助开发者理解签名生成原理并实现自动化请求,提升数据获取能力。

weixin_30955617的博客 556

Java对接海康威视明眸门禁设备

海康威视合作生态致力打造一个能力开放体系、两个生态圈,Hikvision AI Cloud开放平台是能力开放体系的核心内容。它是海康威视基于多年在视频及物联网核心技术积累之上,融合AI、大数据、云计算等技术,为合作伙伴提供的一个二次开发及创新的平台。的SDK复制到linux的lib目录下(如果是docker发布,记得做好共享映射哦)大家有没有想过,windows版的SDK为什么要复制到项目根目录的lib文件夹下?所以发布到linux的时候,我们需要将。打开AcsMain文件。................

Good Luck 7875

spark master的部署方式

我们在初始化SparkConf时,或者提交Spark任务时,都会有master参数需要设置,如下: conf = SparkConf().setAppName(appName).setMaster(master) sc = SparkContext(conf=conf) /bin/spark-submit \ --cluster cluster_name \ --master yarn-cluster \ ... 但是这个master到底是.

ustbbsy的博客 1334

工业质检升级!C#上位机集成YOLOv8.3.138+Blob分析:尺寸测量+缺陷检测一步到位

工业场景的技术选型,从来不是“选最先进的”,而是“选最适配的”。这个项目的成功,不在于采用了多前沿的技术,而在于找对了“贴合场景的技术组合”和“落地导向的实施思路”。C#上位机的稳定性保障了系统长期运行,YOLOv8.3.138的精度解决了缺陷检测痛点,Blob分析的抗干扰能力确保了尺寸测量准确,三者结合实现了“1+1+1>3”的效果。先摸透场景,再选技术:不要盲目追求最新模型,先深入了解车间环境、生产节奏、精度要求,选择兼容性强、稳定性高的技术方案;数据质量决定模型性能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 608

Spark内核学习

Spark core 简单wordcount案例 spark文件基本流程 1、创建spark环境 //配置spark对象 val conf = new SparkConf() //设置任务名 conf.setAppName(“wordcount”) //指定spark代码运行方式,local:本地测试 conf.setMaster(“local”) //spark 上下文对象 用于数据读取(后面使用sparksql的时候使用SparkSession) 2、RDD转换算子操作(因为转换算子是懒执行) 3、R

weixin_43808721的博客 1672

【Coze搞钱实战】14. 抖音直播间自动回复机器人实战教程:三小时搭建智能客服,互动率提升150%(保姆级无代码指南)

摘要:抖音直播间高频问题重复回复、观众互动不及时是运营痛点。本文针对新手和进阶用户,提供无代码的自动回复机器人搭建方案:新手1小时完成基础配置(Coze+抖音对接),进阶用户通过促销倒计时、粉丝分层、热点借势三大策略提升互动率150%。方案基于某女装直播间实测数据(日UV 5W+),所有工具免费获取,步骤拆解到分钟级,附避坑指南与效果验证(某案例互动率从8%升至20%),读者可直接套用配置模板,无需代码基础即可落地。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2457

面向业务角色的 SAP Fiori Space 与 Page 创建全流程实战指南

业务角色导航设计:从Space与Page规划到实施 摘要:本文探讨了SAP S/4HANA Cloud和BTP ABAP环境中基于业务角色的导航设计方法。传统Fiori Launchpad的Group+Tile模式存在应用堆积问题,而新的Space与Page模型将导航按工作领域(如应付会计、销售代表)组织,每个Space包含多个任务导向的Page。文章详细介绍了从业务角色建模到Space/Page创建、分配的完整流程,包括核心概念解析、规划思路和具体操作步骤。重点阐述了如何根据业务需求选择创建方式(基于预交

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 183

Spark启动时的master参数以及Spark的部署方式

我们在初始化SparkConf时,或者提交Spark任务时,都会有master参数需要设置,如下: conf = SparkConf().setAppName(appName).setMaster(master) sc = SparkContext(conf=conf) /bin/spark-submit \ --cluster cluster_name \...

weixin_30938149的博客 1966

ONVIF协议简介与协议测试工具使用详解

Onvif协议及协议测试工具使用详解

dvlinker的技术专栏 3万+

org.apache.spark.sql.RuntimeConfig vs org.apache.spark.SparkConf

org.apache.spark.SparkConf Spark应用程序的配置。 用于将各种Spark参数设置为键值对。 大多数情况下,你可以使用new SparkConf()创建一个SparkConf对象,该对象将会从Java系统属性中载入所有spark.*的配置。 在这种情况下,你直接在SparkConf对象上所设置的参数优先于系统属性。 我们可以通过以下代码来访问它的配置: scala&gt...

Lestat.Z.的博客 1438

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SparkContext、SparkConf和SparkSession之间的关系

1 SparkConf和SparkContext 1.1 启动spark-shell 每个Spark应用程序都需要一个Spark环境,这是Spark RDD API的主要入口点。Spark Shell提供了一个名为“sc”的预配置Spark环境和一个名为“spark”的预配置Spark会话。 使用spark-shell启动交互式命令的过程如下: 进入spark的安装目录,转到bin目录下,启动命令./spark-shell,出现如下图所示的给出上spark和scala的版本号即启动成功。 使用S

weixin_42073629的博客 1398

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SparkContext、SparkConf和SparkSession之间的联系及其初始化

参考博客:https://blog.youkuaiyun.com/love666666shen/article/details/79260944 1、SparkConf和SparkContext 每个Spark应用程序都需要一个Spark环境,这是Spark RDD API的主要入口点。Spark Shell提供了一个名为“sc”的预配置Spark环境和一个名为“spark”的预配置Spark会话。使用...

zytmaster的博客 3848

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spark 集群启动的流程

1.简介 源码版本spark-2.4.0 Spark 作为目前大数据处理的主流架构,吸引了不少人去学习它,本人也不例外,对Spark抱有强烈的好奇心,因此对Spark在执行我们编写的程序时,到底是怎么运行的,是我一直想要搞明白的事情。所以从本篇博客开始,我就详细的介绍Spark执行程序的流程。一方面为了巩固自己所学的知识,另一方面也是为了抛转引玉,希望能有更多的人来介绍Spark. 本篇博客为本系...

fengshaungme的博客 3293

spark源码一:sparkContext初始化之SparkConf

概述: 1.sparkContext初始化很重要,因为他是Driver应用程序提交执行的前提,只有sparkContext初始化后才可以Driver提交用户应用程序,也就是说spark driver的初始化围绕着sparkContext初始化展开的,SparkContext可以算是spark应用程序的发动机引擎 2.源码研究以local模式为主 3.Spark中的组件很多...

qq_26138325的博客 1069

Spark基础篇(三) - 创建RDD的前提(先创建SparkContext、SparkConf)

一、RDD五大特性回顾 二、创建Spark应用程序前需要创建SparkContext 2.1、官网对于SparkConf的描述 2.2、spark-submit的最佳实践 三、使用idea构建SparkContext 3.1、spark-shell查看命令帮助&&在客户端中使用 3.2、此处涉及的参数调优点 四、一些思考题 一、RDD五大特性回顾 面试相关: 1、RDD是什么?为什么是分布式?为什么是弹性? 谈一下你对RDD的理解?结合RDD.scala进行理解;RDD五大特性与源码

SparkOnYarn的博客 1179

Spark3_SparkContext

SparkContext 1.简介 1.1.tells Spark how to access a cluster (告诉Spark如何去连接集群) 开发过程中使用的运行模式包括local statdalone yarn mesos,设置完之后,spark就知道job作业运行在什么模式之上. 1.2.create a SparkConf(key-value pairs) SparkConf包含了A...

思亘七险,点落九宫,神游八极,纵横十方。 907

【Spark源码分析】ApplicationMaster基本启动流程

Spark中ApplicationMaster的基本启动流程,以Spark On Yarn的角度与分析

有问题的请私信或关注v【技术印记】留言 1794

运行Spark程序-在shell中运行 --SparkConf 和 SparkContext

通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。主要作用配置应用程序参数:可以设置 Spark 应用程序的各种属性,如应用程序名称、主节点地址等。是 Spark 应用程序的入口点,它代表了与 Spark 集群的连接。通过 SparkContext,你可以创建 RDD(弹性分布式数据集)、累加器、广播变量等,还可以与外部数据源进行交互。写交互式代码:启动之后在spark-shell中写代码。

2301_82185678的博客 472

Spark从入门到精通第二课:Spark产生背景之Spark VS MR && SparkConf/SparkContext && Spark-shell

1、产生背景 1、产生背景: MapReduce的差劲促使了spark的产生。 1)编程: MR只有只提供给map和reduce方法处理数据,而spark中提供了80多个。 这对编程产生了质的影响: 就比如对于一个wordcount,既要写Map,又要写Reduce和驱动类。 而spark只需要一个...

曹利荣的博客 1682

Spark Shell简单介绍

初始化Spark 编写一个Spark程序第一步要做的事情就是创建一个SparkContext对象,SparkContext对象告诉Spark如何连接到集群。在创建一个SparkContext对象之前,必须先创建一个SparkConf对象,SparkConf对象包含了Spark应用程序的相关信息。 每个JVM只能运行一个SparkContext,在创建另一个新的SparkContext对象前,必须将...

Yage的博客 5011

SparkContext类和SparkConf类

任何Spark程序都是SparkContext开始的,SparkContext的初始化需要一个SparkConf对象,SparkConf包含了Spark集群配置的各种参数。 初始化后,就可以使用SparkContext对象所包含的各种方法来创建和操作RDD和共享变量。Spark shell会自动初始化一个SparkContext,在编程中的具体实现为: val conf = new S

蔡先生的专栏 1万+

pyspark Sparkconf()参数配置

from pyspark import SparkContext, SparkConf from pyspark.sql import SparkSession def create_sc(): sc_conf = SparkConf() sc_conf.setMaster('spark://master:7077') sc_conf.setAppName('my-ap...

花木兰 1万+
上一篇: 实现一个很简单的计时器类
下一篇: java与mysql的日期类型对应
Next__One
博客等级 码龄9年 14粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值