我想更改 Spark session 的默认内存、执行器和核心设置。 Jupyter 中 HDInsight 集群上的 pyspark 笔记本中的第一个代码如下所示:
from pyspark.sql import SparkSession
spark = SparkSession\
.builder\
.appName("Juanita_Smith")\
.config("spark.executor.instances", "2")\
.config("spark.executor.cores", "2")\
.config("spark.executor.memory", "2g")\
.config("spark.driver.memory", "2g")\
.getOrCreate()
但是,如果我查看 yarn ,该设置确实不起作用。
我需要进行哪些设置或命令才能使 session 配置生效?
感谢您提前提供帮助
最佳答案
当你的笔记本内核启动时,SparkSession
已使用内核配置文件中定义的参数创建。要更改此设置,您需要更新或替换内核配置文件,我相信该文件通常位于类似 <jupyter home>/kernels/<kernel name>/kernel.json
的位置。 .
更新
如果您有权访问托管 Jupyter 服务器的计算机,则可以使用 jupyter kernelspec list
查找当前内核配置的位置。 。然后,您可以编辑 pyspark 内核配置之一,或将其复制到新文件并进行编辑。出于您的目的,您需要将以下参数添加到 PYSPARK_SUBMIT_ARGS
:
"PYSPARK_SUBMIT_ARGS": "--conf spark.executor.instances=2 --conf spark.executor.cores=2 --conf spark.executor.memory=2g --conf spark.driver.memory=2g"
关于apache-spark - 如何在 pyspark 中启动 SparkSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45235515/