在向google dataproc提交pyspark作业时,从requirements.txt初始化虚拟环境

zf9nrax1  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(468)

我想要在默认情况下运行python3的dataproc集群中提交pyspark作业。我想用我拥有的虚拟环境初始化环境。
我尝试了两种方法,一种是将整个venv压缩为压缩文件,将其作为存档文件上传并提交到集群。但我的工作没有找到依赖关系。例如

gcloud dataproc jobs submit pyspark --project=**--region=**--cluster=**\
  --archives gs://**/venv.zip#venv \
  --properties spark.pyspark.driver.python=venv/bin/python \
  gs://****.main.py

第二种方法是,我试图告诉spark为我创建一个虚拟环境,并从链接中提到的提供给我的需求文件中安装需求
带虚拟环境的Pypark
但这两种方法都失败了。有人能帮忙吗?另外,我不想走dataproc的初始化后脚本方式。我真的很想避免那样。

rsl1atfo

rsl1atfo1#

在集群上安装需求对您有帮助吗?从dataproc image 1.4开始,您可以在创建集群时添加以下要求:

REGION=<region>
gcloud dataproc clusters create my-cluster \ 
    --image-version 1.4 \
    --metadata 'CONDA_PACKAGES=scipy=1.1.0 tensorflow' \ 
    --metadata 'PIP_PACKAGES=pandas==0.23.0 scipy==1.1.0' \ 
    --initialization-actions \ 
    gs://goog-dataproc-initialization-actions-${REGION}/python/conda-install.sh,gs://goog-dataproc-initialization-actions-${REGION}/python/pip-install.sh

您还可以通过添加以下参数来安装完整的anaconda: --optional-components=ANACONDA 到群集创建

相关问题