栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我似乎无法在Spark上使用--py文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我似乎无法在Spark上使用--py文件

为了使这种依赖分发方法能够与编译扩展一起使用,我们需要做两件事:

  1. 在与目标集群相同的操作系统上运行pip install(最好在集群的主节点上)。这样可确保兼容的二进制文件包含在您的zip中。
  2. 将归档文件解压缩到目标节点上。这是必需的,因为Python不会从zip文件导入已编译的扩展名。(https://docs.python.org/3.8/library/zipimport.html)

使用以下脚本创建依赖项zip将确保您与系统上已安装的任何软件包隔离。假设已安装virtualenv

requirements.txt
并存在于当前目录中,并
dependencies.zip
在根级别输出包含所有依赖项的a

env_name=temp_env# create the virtual envvirtualenv --python=$(which python3) --clear /tmp/${env_name}# activate the virtual envsource /tmp/${env_name}/bin/activate# download and install dependenciespip install -r requirements.txt# package the dependencies in dependencies.zip. the cd magic works around the fact that you can't specify a base dir to zip(cd /tmp/${env_name}/lib/python*/site-packages/ && zip -r - *) > dependencies.zip

现在就可以部署,解压缩依赖项并将其包含在PYTHONPATH中

spark-submit   --master yarn   --deploy-mode cluster   --conf 'spark.yarn.dist.archives=dependencies.zip#deps'   --conf 'spark.yarn.appMasterEnv.PYTHonPATH=deps'   --conf 'spark.executorEnv.PYTHonPATH=deps' ...

spark.yarn.dist.archives = dependencies.zip#deps
分发您的zip文件并将其解压缩到一个名为

deps

spark.yarn.appMasterEnv.PYTHonPATH = deps
spark.executorEnv.PYTHonPATH = deps
包括

deps
PYTHONPATH中用于主服务器和所有工作程序的目录

--deploy-mode集群
集群上 运行主执行器,因此可以选择依赖项



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/617304.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号