在googlecolab中,当前目录是 /myContent
该目录包含以下内容:
setup.py spark-2.4.5-bin-hadoop2.7.tgz trainer/
在trainer文件夹中 __init__.py task.py
. task.py
有我的python代码 import pyspark
下面是 setup.py
安装spark dependencies文件的步骤:
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = ['spark-2.4.5-bin-hadoop2.7.tgz']
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
include_package_data=True,
description='My training application package.'
)
当我提交一个培训工作到谷歌人工智能云运行下面的代码在 /myContent
目录:
!gcloud ai-platform jobs submit training $JOB_NAME \
--package-path $ACKAGE_PATH \
--module-name $MODULE \
--staging-bucket $STAGING_PATH \
--scale-tier custom \
--master-machine-type complex_model_l_gpu \
--worker-machine-type complex_model_l_gpu \
--worker-count 2 \
--runtime-version 2.1 \
--python-version 3.7 \
--packages spark-2.4.5-bin-hadoop2.7.tgz \
--job-dir $JOB_DIR \
-- \
--param_A=1 \
--param_B=2 \
作业失败,日志中显示一条错误消息:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.7/tokenize.py", line 447, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-req-build-b_xhvahl/setup.py'
1) 我已经提交了 setup.py
到谷歌人工智能平台,为什么找不到py文件?
2) 如何事先在google人工智能平台上安装spark依赖文件?在google colab jupyter笔记本中,我总是在单元格中运行以下代码:
# install spark
%cd
!apt-get install openjdk-8-jdk-headless -qq
!wget https://archive.apache.org/dist/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz
!tar -xvf spark-2.4.5-bin-hadoop2.7.tgz > /dev/null
!pip install -q findspark
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/root/spark-2.4.5-bin-hadoop2.7"
谢谢您
1条答案
按热度按时间kxeu7u2r1#
我已经提交了setup.py到谷歌人工智能平台,为什么它没有找到py文件?
我复制了相同的错误,问题很可能是由文件.tgz引起的,因为支持的文件只有
.tar.gz
以及.whl
,请参见手动生成和添加自定义依赖项。在setup.py
您引用的是一个压缩文件(spark-2.4.5-bin-hadoop2.7.tgz),但据我所知,这个选项install_requires
应该包含一个pypi包或一个具有所需依赖项的目录。如何事先在google人工智能平台上安装spark依赖文件?在google colab jupyter笔记本中,我总是在单元格中运行以下代码:
在jupyter单元中,您正在提取.tgz文件,并在设置
SPARK_HOME
变量。这与文件的过程不同setup.py
. 我注意到spark文档中说“pyspark现在在pypi中可用。要安装,只需运行pip install pyspark“;所以,为了使用import pyspark
您可以选择通过以下方式进行安装:使用pyspark-3.0.0.tar.gz文件代替spark-2.4.5-bin-hadoop2.7.tgz。
在setup.py文件中指定pyspark,例如:
install_requires=['pyspark>=2.4.5']
,并按照指导原则正确配置setup.py
文件。