在独立的Spark中分配指定数量的内核

时间:2019-10-23 10:19:41

标签: python apache-spark pyspark jupyter-notebook

我一直在研究一个独立的Spark集群,该集群具有760GB的总内存和来自25个工作节点的200个内核,我正在使用Jupyter笔记本使用PySpark(python API)在该集群上进行实验, Jupyter笔记本已配置为独立版本,并使用自定义上下文将代码提交给Spark集群。基本上,Jupyter笔记本不会在pyspark(pyspark-shell)上下文之上运行。 我已经尝试了几乎所有声明Spark上下文的方法,作为实例检查以下代码,

from pyspark import SparkContext, SparkConf
from pyspark.sql import SparkSession


conf = SparkConf()
conf.setAppName("------Name-----")
conf.setMaster('spark:<ip>')
conf.set('spark.driver.cores','4')
conf.set('spark.driver.memory','18g')
conf.set('spark.driver.maxResultSize','16g')
conf.set('spark.executor.cores','1')
conf.set('spark.executor.memory','4g')
conf.set('spark.executor.instances','150')
conf.set('spark.default.parallelism','150')

sc = SparkContext(conf=conf)
spark = SparkSession(sc)

在最初阶段,Spark集群为所有这150个单独的执行程序分配了150个内核和600GB内存。但是当我的工作正在运行时,sp​​ark群集会自动减少内核和内存的数量,因此我的工作需要一段时间才能完成。

Spark master UI - port 8080

有解决这个问题的专家想法吗?我实际上想利用所有这些资源来加快计算速度

0 个答案:

没有答案