“纱线簇上的火花”创建的火花作业的工人数量比火花上下文中指定的工人数量(100)小得多(只有4名工人): 以下是我如何创建spark上下文和会话:
config_list = [
('spark.yarn.dist.archives','xxxxxxxxxxx'),
('spark.yarn.appMasterEnv.PYSPARK_PYTHON','xxxxxxxxx'),
('spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON','xxxxxxxxxxx'),
('spark.local.dir','xxxxxxxxxxxxxxxxxx'),
('spark.submit.deployMode','client'),
('spark.yarn.queue','somequeue'),
('spark.dynamicAllocation.minExecutors','100'),
('spark.dynamicAllocation.maxExecutors','100'),
('spark.executor.instances','100'),
('spark.executor.memory','40g'),
('spark.driver.memory','40g'),
('spark.yarn.executor.memoryOverhead','10g')
]
conf = pyspark.SparkConf().setAll(config_list)
spark = SparkSession.builder.master('yarn')\
.config(conf=conf)\
.appName('myapp')\
.getOrCreate()
sc = spark.sparkContext
如果您有任何想法,我将不胜感激
如果指定最小工作节点数大于集群中的实际工作节点/执行者数,则spark会话将在作业运行时分配最大可用工作节点数
您还可以通过以下方式查看会话中分配的执行者数量来验证这一点:
我希望你能理解
相关问题 更多 >
编程相关推荐