猿问

如何在 Google Dataproc 集群中安装和运行 pip

我使用以下命令在 Google DataProc 中创建了一个集群:


gcloud beta dataproc clusters create my-cluster \

--project my-project \

--bucket my-bucket \

--region my-region \

--zone my-zone \

--num-workers 5 \

--service-account my-service-account \

--initialization-actions gs://goog-dataproc-initialization-actions-${REGION}/connectors/connectors.sh,gs://goog-dataproc-initialization-actions-${REGION}/datalab/datalab.sh \

--metadata gcs-connector-version=2.0.0 \

--metadata bigquery-connector-version=1.0.0 \

--scopes cloud-platform \

--optional-components=ANACONDA,JUPYTER,ZEPPELIN,PRESTO \

--metadata PIP_PACKAGES=numpy:scipy:pandas:scikit-learn:matplotlib:seaborn \

--image-version=1.4 \

--properties=^#^spark:spark.jars='gs://spark-lib/bigquery/spark-bigquery-latest.jar'#spark:spark.jars.packages='org.apache.spark:spark-avro_2.12:2.4.4'#zeppelin:zeppelin.notebook.gcs.dir="gs://${BUCKET}/notebooks/zeppelin/${CLUSTER_NAME}"#dataproc:jupyter.notebook.gcs.dir="gs://${BUCKET}/notebooks/jupyter/${CLUSTER_NAME}"

我尝试了两种 pip 方法:


1)添加gs://goog-dataproc-initialization-actions-${REGION}/python/pip-install.sh到初始化操作,点击此链接:Dataproc python configuration,但它导致集群创建失败。


错误信息是:Initialization action failed. Failed action 'gs://goog-dataproc-initialization-actions-us-central1/python/pip-install.sh', see output in: gs://my-bucket/google-cloud-dataproc-metainfo/df1234gs-3423-647e-bdf4-dfas1231das/my-cluster-m/dataproc-initialization-script-2_output。如果需要,我可以共享文件。


2)使用上面的命令创建集群。它能够创建集群。奇怪的是,当我登录到主节点并尝试 pip 时,似乎 pip 命令可用。但是,如果我在 Jupyter 中运行 pip 命令,例如,pip install --upgrade pip当命令执行时,内核会死机并反复重启,使 Jupyter 不可用。


我曾经能够创建集群并使用 Image gcs_connector1.4.4、1.9.16 和bq_connector0.13.16 顺利运行。我不确定钩子下是否有任何变化。任何建议表示赞赏。


尚方宝剑之说
浏览 93回答 1
1回答

喵喔喔

我在您的命令中更改--metadata PIP_PACKAGES=numpy:scipy:pandas:scikit-learn:matplotlib:seaborn为--metadata PIP_PACKAGES="numpy scipy pandas scikit-learn matplotlib seaborn",并且能够使用pip-install.sh初始化脚本。
随时随地看视频慕课网APP

相关分类

Python
我要回答