首页 > 解决方案 > 忽略 jupyter 笔记本中的 PYSPARK_PYTHON 设置

问题描述

我一直在尝试从 juputer 笔记本(使用 jupyter 实验室)设置 PYSPARK_PYTHON 以使用特定的 conda env,但我找不到让它工作的方法,我找到了一些使用示例:

import os

os.environ['PYSPARK_PYTHON'] = "<the path>"

但它没有用,所以我也尝试了:

spark = pyspark.sql.SparkSession.builder \
       .master("yarn-client") \
       .appName(session_name) \
       .config("spark.yarn.appMasterEnv.PYSPARK_PYTHON","<the path>") \
       .enableHiveSupport() \
       .getOrCreate(cluster=cluster)

sc = spark.sparkContext
sqlContext = SQLContext(sc)

但它从不使用指定路径中指定的python版本,问题是,配置是否可能被忽略?做其他事情需要在笔记本上做吗?

我正在使用 yarn-client 模式,并且我正在使用 jupyter lab 的企业/企业实例,因此我无法使用 export 在 cli 上设置变量,因为服务器由另一个团队为公司广泛管理,所以我需要做它与在 jupyter 启动期间在 cli 处导出不同的东西。

标签: pythonpysparkjupyter-notebook

解决方案


要使其正常工作,您还应该将这些参数传递给 cli:

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

另一种方法是安装 findspark 包:

import findspark
findspark.init()

import pyspark

希望它会有所帮助: https ://www.sicara.ai/blog/2017-05-02-get-started-pyspark-jupyter-notebook-3-minutes


推荐阅读