python - 忽略 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 处导出不同的东西。
解决方案
要使其正常工作,您还应该将这些参数传递给 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
推荐阅读
- excel - 如何在excel中使用宏管理库存
- c# - 但是,虽然后来将明文密码分配给密码,但此变量永远不会从内存中清除
- ios - 如何在目标 C 中为 iOS healthkit 应用程序添加注意时间?
- r - 区分图形数据库类型表中的“案例”
- excel - 如何将百万行 Excel 文件导入数据表?
- here-api - TimeType ARRIVAL 在 Android SDK 中不起作用
- javascript - 点击时反应原生材料下拉动画的问题
- angular - RouterExtension.back() 不工作 Nativescript Angular
- sql-server - 附加当前绑定源时发生错误:“IEntityChangeTracker 的多个实例无法引用实体对象”
- c - 为什么编译器会先读取内部术语,然后再输出?