如何设置 Spark 以使用由 anaconda 管理的 pandas?
Posted
技术标签:
【中文标题】如何设置 Spark 以使用由 anaconda 管理的 pandas?【英文标题】:How to set up Spark to use pandas managed by anaconda? 【发布时间】:2018-11-14 02:27:57 【问题描述】:我们已将 Spark 版本从 2.2 更新到 2.3,但管理员并未更新 pandas。因此,我们的作业失败并出现以下错误:
ImportError: Pandas >= 0.19.2 必须安装;但是,您的版本是 0.18.1
我们的管理团队建议创建一个从 anaconda 下载最新版本的 VM(使用命令 conda create -n myenv anaconda
)。
我这样做了,在使用source activate myenv
激活本地环境后,当我登录 pyspark2 时,我发现它正在选择新版本的 pandas。
但是当我使用spark2-submit
命令提交作业时,它不起作用。我确实在spark2-submit
命令中添加了以下配置
--conf spark.pyspark.virtualenv.enabled=true
--conf spark.pyspark.virtualenv.type=conda
--conf spark.pyspark.virtualenv.requirements=/home/<user>/.conda/requirements_conda.txt --conf spark.pyspark.virtualenv.bin.path=/home/<user>/.conda/envs/myenv/bin
我还压缩了整个 python 2.7 文件夹,并在 --py-files
选项中将其与其他 .py 文件 --py-files /home/<user>/python.zip
一起传递,但对于 pandas 仍然遇到相同的版本问题。
我尝试按照 URL https://community.hortonworks.com/articles/104947/using-virtualenv-with-pyspark.html 中指定的说明进行操作,但仍然没有成功。
如何修复它并能够使用正确的 pandas spark2-submit
?
【问题讨论】:
【参考方案1】:我认为您可能需要定义环境变量,例如 SPARK_HOME
和 PYTHONPAH
指向您的 virtualenv 中的相应位置。
export SPARK_HOME=path_to_spark_in_virtualenv
export PYTHONPATH=$SPARK_HOME/python
【讨论】:
以上是关于如何设置 Spark 以使用由 anaconda 管理的 pandas?的主要内容,如果未能解决你的问题,请参考以下文章
配置 Spark 以使用 Jupyter Notebook 和 Anaconda
无法在 Jupyter notebook-anaconda 中设置 spark home
如何设置 HDFS 文件系统以使用 HDFS 运行 Spark 作业?
使用 k-means 聚类时如何设置 spark 配置以减少洗牌?