答案取决于你SparkContext
来自哪里。
如果您使用以下方式启动 Jupyter pyspark
:
PYSPARK_DRIVER_PYTHON='jupyter'\
PYSPARK_DRIVER_PYTHON_OPTS="notebook" \
PYSPARK_PYTHON="python" \
pyspark
那么当您在 Jupyter 中收到 Python 内核时,您的 SparkContext 已经初始化。因此,您应该将参数传递给 pyspark(在上述命令的末尾):--conf spark.local.dir=...
SparkContext
如果你在 Python中构建
如果您的笔记本中有代码,例如:
import pyspark
sc = pyspark.SparkContext()
然后您可以在创建 Spark 上下文之前对其进行配置:
import pyspark
conf = pyspark.SparkConf()
conf.set('spark.local.dir', '...')
sc = pyspark.SparkContext(conf=conf)
从命令行配置 Spark:
也可以通过在 bash 中编辑配置文件来配置 Spark。您要编辑的文件是${SPARK_HOME}/conf/spark-defaults.conf
. 您可以按如下方式附加到它(如果它不存在则创建它):
echo 'spark.local.dir /foo/bar' >> ${SPARK_HOME}/conf/spark-defaults.conf