【问题标题】:How to install optional components (anaconda, jupyter) in custom dataproc image如何在自定义 dataproc 映像中安装可选组件(anaconda、jupyter)
【发布时间】:2021-05-02 14:46:34
【问题描述】:

为了加快集群实例化时间,我创建了一个自定义映像,其中所有附加依赖项都使用可用于 dataproc 映像 1.5.34-debian10 的 miniconda3 安装。 (我按照这里的步骤:GCP Dataproc custom image Python environment 以确保我使用了正确的 python 环境)。

但是,当我使用 --optional-components ANACONDA,JUPYTER 启动我的集群时,我的自定义依赖项被删除,我只剩下 anaconda 和 jupyter 的基本安装。我假设 anaconda 安装正在覆盖我的自定义依赖项。有什么方法可以确保我的依赖项不会被覆盖?如果没有,是否可以将 anaconda 和 jupyter 安装为我的自定义 dataproc 映像的一部分?

我使用以下命令创建自定义图像:

python3 generate_custom_image.py \
    --image-name test-dataproc-image-1 \
    --dataproc-version 1.5.34-debian10 \
    --customization-script ./pip-install.sh \
    --zone <my_zone> \
    --gcs-bucket <my_gcs_bucket> \
    --subnet <my_subnet> \
    --metadata 'PIP_PACKAGES="dask[distributed] dask-yarn==0.8 google-cloud-pubsub==2.4.1 kneed==0.7.0 google-cloud-secret-manager==2.4.0  pandas-gbq==0.15.0 pyarrow==3.0.0 leidenalg==0.8.4 cdlib==0.2.0 bigquery==0.0.12 google-cloud-storage==1.37.1 facebook_business pyemd==0.5.1 pysftp==0.2.9 gensim==4.0.1 wordcloud==1.8.1 spacy==2.3.0 https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.3.0/en_core_web_sm-2.3.0.tar.gz --ignore-installed PyYAML"'
    --no-smoke-test

下面是我的自定义脚本 pip-install.sh 的内容:

which python 

# Activate miniconda3 optional component.
cat >>/etc/google-dataproc/dataproc.properties <<EOF
dataproc.components.activate=miniconda3
EOF
export BDUTIL_DIR=/usr/local/share/google/dataproc/bdutil
bash /usr/local/share/google/dataproc/bdutil/components/activate/miniconda3.sh
source /etc/profile.d/effective-python.sh

# Now this is /opt/conda/default/bin/python
which python 
apt update
apt install python3-pip -y
python -m pip install --upgrade ${PACKAGES}

【问题讨论】:

  • apt install python3-pip -y 对我来说似乎不正确,你不需要安装它,你想使用/opt/conda/default/bin/pip
  • 自定义镜像中新增了自定义Anaconda/Miniconda的可复用脚本,你可以试试github.com/GoogleCloudDataproc/custom-images/blob/master/…
  • 谢谢,customize_conda.sh 脚本有效。我不确定如何将问题标记为已回答,我应该添加一个指向您评论的答案吗?
  • 很高兴知道它有效。让我发布一个答案。

标签: python-3.x anaconda google-cloud-dataproc


【解决方案1】:

customize_conda.sh 脚本是为自定义图像自定义 Conda env 的推荐方式。

如果您需要的不仅仅是脚本,您可以阅读代码并创建自己的脚本,但无论如何您都想使用绝对路径,例如/opt/conda/anaconda/bin/conda/opt/conda/anaconda/bin/pip/opt/conda/miniconda3/bin/conda/opt/conda/miniconda3/bin/pip 到为 Anaconda/Miniconda 环境安装/卸载软件包。

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 1970-01-01
    • 2017-10-21
    • 2023-02-03
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 2022-01-17
    相关资源
    最近更新 更多