如何在windows下安装配置pyspark notebook

如何在windows下安装配置pyspark notebook,第1张

首先你的spark环境已经安装好了。

然后安装anaconda。

如果spark和anaconda都已经安装好了,直接添加环境变量。第一个变量是PYSPARK_DRIVER_PYTHON:jupyter。另外一个变量是PYSPARK_DRIVER_PYTHON_OPTS:notebook。这样从命令行启动的话(双击启动不行)就可以打开一个web服务在notebook中的py脚本就可以运行在spark上了

SparkContext是程序执行的入口,一个SparkContext代表一个应用,深入理解spark运行时机制,首先要了解SparkContext初始化过程。

SparkContext初始化

SparkContext的定义

构造参数为SparkConf,其存储spark相关的配置信息,查看SparkConf定义

SparkConf内部用ConcurrentHashMap存储各种配置信息,初始化时会加载所有以spark.开头的环境变量。

SparkContext初始化

查看初始化对应代码

clone SparkConf变量,接着判断spark.master和spark.app.name是否存在,如果是YARN cluster模式则必须设置spark.yarn.app.id,然后是driver的host,port信息,最后是jars和files,接着查看

_eventLogDir是否记录运行时信息,由spark.eventLog.enabled和spark.eventLog.dir控制,以及是否压缩该信息_eventLogCodec,spark.externalBlockStore.folderName设置运行时本地存储的目录名,为“spark-” + randomUUID.toString(),如果为yarn-client模式,设置SPARK_YARN_MODE=true,使用JobProgressListener跟踪运行时信息,用于UI展示,最后创建SparkEnv对象,创建SparkEnv的过程涉及到非常多spark-core中的核心类。

查看createSparkEnv

继续查看SparkEnv.createDriverEnv

获取host和port信息,调用create方法。

继续查看create方法

创建安全相关的SecurityManager,通过spark.authenticate配置

创建基于akka的分布式消息系统,中间的创建过程略多,这里不再描述,最后看看SparkEnv初始化了哪些对象

上图中列出的对象几乎涵盖了spark-core的核心类,后续会对其分别分析,至此,SparkEnv创建完毕。

接着上面SparkEnv.set(_env)(限于篇幅,关于UI方面的代码可能会被略掉),_metadataCleaner使用TimerTask定期清理persistentRdd,读取hadoop配置,将jar和file的路径添加到rpcEnv的fileServer,读取Executor相关变量,重要的参数为ExecutorMemory

接着,_heartbeatReceiver是默认基于netty实现的心跳机制,创建schedulerBackend用于提交任务,创建taskScheduler和dagScheduler,获取applicationId,启动度量系统,获取eventLogger

executorAllocationManager关于Executor动态资源分配,通过spark.dynamicAllocation.enabled设置,创建contextcleaner用于清理过期的RDD, shuffle和broadcast ,启动ListenerBus,并post环境信息和应用信息,最后添加确保context停止的hook,至此整个sparkcontext的初始化流程结束

---------------------

作者:Mr_JieLQ

来源:CSDN

原文:https://blog.csdn.net/u011564172/article/details/54927873

版权声明:本文为博主原创文章,转载请附上博文链接!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/9904245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存