我最近在 JupyterHub 上使用 Spark 和 PySpark。据我所知,在创建 EMR 之前,我可以设置引导程序来设置每个集群中的环境,例如 Python 包/库。但是如果我已经启动了 EMR,如何在不重新启动 EMR 的情况下安装更多 Python 包/库?
我搜索并得到了一些答案,我可以通过 Jupyterhub 中的单元安装它。例如,
%%spark
sc.install_pypi_package("matplotlib")
Run Code Online (Sandbox Code Playgroud)
我尝试过但出现错误
RuntimeError: install_pypi_packages can only use called when spark.pyspark.virtualenv.enabled is set to true
Run Code Online (Sandbox Code Playgroud)
因此,我尝试/usr/lib/spark/conf/spark-defaults.conf通过将此行添加到该文件中来在主集群上设置该配置。
"spark.pyspark.virtualenv.enabled": "true"
Run Code Online (Sandbox Code Playgroud)
但不起作用,JupyterHub仍然返回错误。
所以我想知道
当我已经启动 EMR 并想要向集群安装更多 Python 包/库时,最佳实践是什么?
在创建 EMR 之前如何配置"spark.pyspark.virtualenv.enabled": "true"或可以在软件设置中进行设置?
先感谢您。