解决pyspark问题:在spark中使用集群未安装的python第三方库

您所在的位置:网站首页 linux运行python缺少包 解决pyspark问题:在spark中使用集群未安装的python第三方库

解决pyspark问题:在spark中使用集群未安装的python第三方库

2024-05-26 09:11| 来源: 网络整理| 查看: 265

问题:在工作中,使用spark-summit部署python第三方库保存的xgboost模型(单机库模型,非xgboost-4j),运行出错,ImportError: No module name xxxx。使用第三方库有:pandas、numpy、xgboost。因为没有集群权限,模型安装流程复杂,尝试自己探索解决,看了国内外很多帖子,大致有3种情况:

单一文件 自建模块 或 python简单第三方库(不含.so文件) python复杂第三方库(含.so文件,即动态加载库,如numpy、pandas、xgboost) 1、单一文件

(1)使用spark-submit命令中的--py-files选项并指定文件的本地路径,将依赖文件提供给所有的执行程序。其中,dependency.py为依赖文件,script.py为主程序文件,均可以只放置在本地,提交任务后会上传集群。

spark/bin/spark-submit \ --master yarn  \ --deploy-mode cluster \ --py-files dependency.py \ script.py

(2)在代码中使用sc.addPyFiles(path)函数,将所需文件添加到SparkContext。

sc = SparkContext(master=”yarn-cluster”,appName=”myApp”) sc.addPyFile(f


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3