上一篇:PySpark任务在YARN集群上运行 关联python包numpy pandas scipy 等
问题:
在提交ALS.train代码到yarn模式的时候,会出现如下报错:
import numpy as np
ImportError: No module named numpy
说pandas的的dependency numpy包不存在,但事实上install pandas时,numpy必定是已经装过的,所以就到处找,应该是环境没有设置
解决方式:
1. 创建虚拟python环境
这个不多介绍了,不管是通过annaconda还是virtualenv,创建好你自己的python环境。如果你也碰到了离线的平台,建议查看上面的 坑2:自己用docker做一个和服务器一样的系统版本,在上面完成虚拟的环境的创建,再将其拷贝出来;
2. 打包虚拟环境并将其上传hdfs
创建好环境后,进入到环境所在的文件夹,例如你的环境是 ***/***/project_env, cd到project_env下,使用打包命令将当前目录下的文件打包
zip -r project_env.zip ./*
在当前文件夹下,将其上传至hdfs
hadoop fs -put ***/***/project_env/project_env.zip hdfs://***/***/***/env/
3. 使用spark-submit命令引用
client模式下

本文详细阐述了在PySpark任务于YARN集群环境下,解决numpy等Python包缺失问题的具体步骤。从创建虚拟环境、打包上传至HDFS,到spark-submit命令配置及环境变量设置,提供了一套完整方案,确保大数据分析任务顺利执行。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



