pyspark使用指定python环境后的提交方法

一、扫盲

这篇文章很好的解释了如下几个问题:
  1. spark on Yarn 是什么?
  2. pyspark application 的运行原理是什么?
  3. pyspark application 如何在 Yarn 运行?

二、实际

  • 将python环境打包
cd path_to_python
*注意这里要进入python目录下打包,否则整个路径(就是python所在的路径)都会被打包,后面解压的时候,python前面会出现超长路径,不能正常解析报错
zip -r path_to_pythonzip/python_user.zip ./*
  • 将python环境上传至hdfs
hadoop fs -put python_user.zip 
  • 修改spark配置文件
配置spark-defualts.config 文件,使得python上传后,在进行spark-submit时,会自动分发python环境的包到各个工作节点。
cp spark-defaults.conf  spark-user.conf

# 修改相关配置
spark.yarn.dist.archives path_to_hdfs/python_user.zip#python

* 注意最后面的 #python 不能删掉,他大概会在这个zip解压后的路径下找到python路径,然后命名为python。这涉及到配置文件中pyspark 的 python 能否找对

 

  • 修改提交脚本
#!bin/bash
spark-submit --master yarn \
--driver-memory 4G --executor-memory 12G \
--properties-file conf/spark-user.conf \
--py-files other_dependence.py main.py

三、运行结果

简单运行一下,输出python环境中的gensim版本

发布了120 篇原创文章 · 获赞 35 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/u012328476/article/details/78894669