如何在google云平台的google ai平台中安装spark依赖项

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

在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"

谢谢您

kxeu7u2r

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 文件。

相关问题