当前位置: 首页 > news >正文

验证pyspark提交参数指定环境变量生效

一,背景需要在我们已经内置的流程化提交平台中使用用户自己的python环境
二,我们自己中台页面中默认执行的提交命令如下

 /opt/apps/ali/spark-3.5.2-bin-hadoop3-scala2.13/bin/spark-submit 
--master yarn --deploy-mode cluster --name print.py_6 --conf spark.yarn.submit.waitAppCompletion=false  --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python3.6/python3.6/bin/python  --archives hdfs:///ali/ai/python3.6.zip#python3.6  --conf spark.executorEnv.PYSPARK_DRIVER_PYTHON=./python3.6/python3.6/bin/python --executor-cores 2  --executor-memory 8g   file:/opt/apps/ali/print.py 

三,用户提交添加参数

spark.yarn.dist.archives="hdfs://ali/testpysaprk/dns_fenxi.tar.gz#pyenv";spark.executorEnv.PYTHONPATH=pyenv/lib/python3.10/site-packages; spark.pyspark.python=pyenv/python3.10/bin/python3.10

我们平台会默认将他们这个添加到配置中的参数添加到提交命令中

 /opt/apps/ali/spark-3.5.2-bin-hadoop3-scala2.13/bin/spark-submit 
--master yarn --deploy-mode cluster --name print.py_6 --conf spark.yarn.submit.waitAppCompletion=false  --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python3.6/python3.6/bin/python  --archives hdfs:///ali/ai/python3.6.zip#python3.6  --conf spark.executorEnv.PYSPARK_DRIVER_PYTHON=./python3.6/python3.6/bin/python --executor-cores 2  --executor-memory 8g   file:/opt/apps/ali/print.py  spark.yarn.dist.archives="hdfs://ali/testpysaprk/dns_fenxi.tar.gz#pyenv";spark.executorEnv.PYTHONPATH=pyenv/lib/python3.10/site-packages; spark.pyspark.python=pyenv/python3.10/bin/python3.10

程序运行报错

submit-spark: Exception in thread "main" java.io.FileNotFoundException: File file:/apps/"/opt/apps/dns_fenxi.tar.gz#pyenv" does not exist

四,发现问题,更改提交命令,将命令中的“”去掉

spark.yarn.dist.archives=hdfs://everdc/mzqtestpysaprk/dns_det.tar.gz#pyenv;spark.executorEnv.PYTHONPATH=./pyenv/dns_det/bin/python3.10/site-packages; spark.pyspark.python=./pyenv/dns_det/bin/python3.10 

提交成功,运行也正常

  opt/apps/spark_ali/bin/spark-submit --master yarn --deploy-mode cluster --name  testprint.py_237 --conf spark.yarn.submit.waitAppCompletion=false  --principal hdfs/ali14@ali.COM --keytab /opt/apps/ali_cluster_file/tickets/215/keytab  --conf  spark.pyspark.python=./pyenv/dns_det/bin/python3.10      --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python3.6/python3.6/bin/python  --conf spark.executorEnv.PYTHONPATH=./pyenv/dns_det/bin/python3.10/site-packages  --archives /opt/apps/python3.6.zip#python3.6  --driver-memory 8g  --conf spark.default.parallelism=10  --num-executors 1  --conf spark.yarn.dist.archives="hdfs://ali/mzqtestpysaprk/dns_det.tar.gz#pyenv"   --conf spark.executorEnv.PYSPARK_DRIVER_PYTHON=./python3.6/python3.6/bin/python  --executor-cores 2  --executor-memory 8g    --queue root.default file:/opt/apps/resource/testprint.py 

五,spark中指定参数中指定python环境的优先级
我再提交命令中有自带的python.3.6的环境,同时有用户提交的3.10的环境,最后通过脚本发现用户的环境生效了
最后对比发现 spark.pyspark.python配置的优先级最高

http://www.lryc.cn/news/604018.html

相关文章:

  • HbuilderX开发小程序
  • Java面试宝典:MySQL8新特性底层原理
  • 【nerf处理视频数据】Instant-NGP项目NeRF模型训练数据集准备指南
  • React--》规划React组件库编码规范与标准 — Button篇
  • 解决Spring MVC中@PathVariable参数为null导致的404问题:全面解析与最佳实践
  • 树形结构递归查询与嵌套结构转换:Flask + PostgreSQL 完整实现
  • EnergyMath芯祥代理 EMS4100可替代 ASW3410
  • 【牛客网C语言刷题合集】(五)——主要二进制、操作符部分
  • 深入解析mediasoup:构建实时音视频通信的高性能SFU解决方案
  • 用LangGraph实现聊天机器人记忆功能的深度解析
  • 深度学习篇---PaddleDetection模型选择
  • 循环神经网络——动手学深度学习7
  • electron-vite 动态加载脚本 实现动态插件
  • 使用jQuery时的注意事项
  • 爬虫逆向之瑞数五案例:某某医学院(补环境,联调)
  • 直播间里的酒旅新故事:内容正在重构消费链路
  • logtrick 按位或最大的最小子数组长度
  • 计算器4.0:新增页签功能梳理页面,通过IO流实现在用户本地存储数据
  • Java注解全面解析与应用实战
  • 三维扫描相机:工业自动化的智慧之眼——迁移科技赋能智能制造新纪元
  • 前端优化之虚拟列表实现指南:从库集成到手动开发
  • MongoDB系列教程-第一章:MongoDB简介、安装 、概念解析、用户管理、连接、实际应用示例
  • Java抽Oracle数据时编码问题
  • Spring Boot with RabbitMQ:四大核心模式指南
  • TDengine 中 TDgpt 异常检测的数据密度算法
  • TDengine 中 TDgpt 异常检测的机器学习算法
  • 中科米堆CASAIM金属件自动3d测量外观尺寸三维检测解决方案
  • 【数据结构初阶】--二叉树(四)
  • C# _列表(List<T>)_ 字典(Dictionary<TKey, TValue>)
  • uniapp 实现全局变量