当前位置: 首页 > 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.dtcms.com/a/304048.html

相关文章:

  • 什么情况下会出现数据库和缓存不一致的问题?
  • VS Code编辑器
  • jvm冷门知识十讲
  • Three.js实现银河螺旋星云粒子特效——原理、实现
  • 译 | 介绍PyTabKit:一个试图超越 Scikit-Learn的新机器学习库
  • 基于dcmtk的dicom工具 第九章 以json文件或sqlite为数据源的worklist服务(附工程源码)
  • JVM指令集
  • LeetCode|Day29|1009. 十进制整数的反码|Python刷题笔记
  • 服装行业SaaS系统有哪些
  • 【C++】指针
  • 基于Coze平台的自动化情报采集与处理引擎—实现小红书图文到飞书的端到端同步
  • 用 Python 轻松实现时间序列预测:Darts 时间序列混合器(TSMixer)Time Series Mixer
  • WAIC 2025观察:昇腾助力AI融入多元化生活场景
  • sqli-labs通关笔记-第25关GET字符注入(过滤or和and 脚本法)
  • 数据手套五指触觉灵巧手遥操作方案
  • Hyperchain安全与隐私机制详解
  • Windows 下使用 Ollama 调试大模型
  • 故障排除---Operator部署Prometheus无法NodePort访问
  • zoho crm为什么xx是deal的关联对象但是调用函数时报错说不是关联对象
  • 译|生存分析Survival Analysis案例入门讲解(一)
  • 电磁兼容(EMC):整改案例(十三)屏蔽外壳开孔解决433MHz无线通信问题
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-45,(知识点:负反馈的作用,基础理解,干扰和噪声的抑制)
  • React--》实现 PDF 文件的预览操作
  • WisFile(文件整理工具) v1.2.19 免费版
  • 自然语言处理NLP(3)
  • Mac m系列芯片安装node14版本使用nvm + Rosetta 2
  • 【第四章:大模型(LLM)】01.神经网络中的 NLP-(3)文本情感分类实战
  • 网络安全运维面试准备
  • 全自动植树机solidwoeks图纸cad【7张】三维图+设计说明说
  • 第二十二天(数据结构,无头节点的单项链表)