gpt4 book ai didi

apache-spark - 在 Jupyter Notebook 中设置 PySpark executor.memory 和 executor.core

转载 作者:行者123 更新时间:2023-12-01 03:11:54 32 4
gpt4 key购买 nike

我正在从 Jupyter Notebook 中初始化 PySpark,如下所示:

from pyspark import SparkContext
#
conf = SparkConf().setAppName("PySpark-testing-app").setMaster("yarn")
conf = (conf.set("deploy-mode","client")
.set("spark.driver.memory","20g")
.set("spark.executor.memory","20g")
.set("spark.driver.cores","4")
.set("spark.num.executors","6")
.set("spark.executor.cores","4"))

sc = SparkContext(conf=conf)
sqlContext = SQLContext.getOrCreate(sc)

但是,当我启动 YARN GUI 并查看“正在运行的应用程序”时,我看到我的 session 被分配了 1 个容器、1 个 vCPU 和 1GB 的 RAM,即默认值!
我可以获得上面列出的所需的传递值吗?

最佳答案

Jupyter Notebook 将使用 yarn-client 模式启动 pyspark,驱动程序内存和某些配置不能使用类 'sparkConf' 进行设置。您必须在命令行中设置它。

看看官方doc 's 在内存设置中解释:

注意:在客户端模式下,此配置不能通过 SparkConf 设置直接在您的应用程序中,因为驱动程序 JVM 已经在此时启动。相反,请通过 --driver-memory command 进行设置line 选项或在您的默认属性文件中。

还有另一种方法可以做到。

import os
memory = '20g'
pyspark_submit_args = ' --driver-memory ' + memory + ' pyspark-shell'
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args

因此,其他配置应采用与上述相同的方式。

关于apache-spark - 在 Jupyter Notebook 中设置 PySpark executor.memory 和 executor.core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51601478/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com