如何解决无法在 Dockerfile 中使用 sparklyr 安装 spark
我们正在尝试构建我们自己的 docker 镜像,以便在 Spark 中使用 R 和 tidyverse。但是,我们在尝试安装 Spark 时在构建中遇到错误。
这是我们的 Dockerfile:
# start with the most up-to-date tidyverse image as the base image
FROM rocker/tidyverse:latest
# install openjdk 8 (Java)
RUN apt-get update \
&& apt-get install -y openjdk-8-jdk
# Install sparklyr
RUN install2.r --error --deps TRUE sparklyr
# Install spark
RUN Rscript -e 'sparklyr::spark_install("2.4.3")'
RUN mv /root/spark /opt/ && \
chown -R rstudio:rstudio /opt/spark/ && \
ln -s /opt/spark/ /home/rstudio/
RUN install2.r --error --deps TRUE DBI
RUN install2.r --error --deps TRUE RPostgres
RUN install2.r --error --deps TRUE dbplyr
我们使用 Docker compose up
构建并创建容器。
构建时抛出错误:
=> ERROR [4/8] RUN Rscript -e 'sparklyr::spark_install("2.3.0")' 62.0s
------
> [4/8] RUN Rscript -e 'sparklyr::spark_install("2.3.0")':
#7 61.85 Error in download.file(installInfo$packageRemotePath,destfile = installInfo$packageLocalPath,:
#7 61.85 download from 'https://archive.apache.org/dist/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz' Failed
#7 61.85 Calls: <Anonymous>
#7 61.85 Execution halted
------
Failed to solve: rpc error: code = UnkNown desc = executor Failed running [/bin/sh -c Rscript -e 'sparklyr::spark_install("2.3.0")']: exit code: 1
我们也尝试将其运行为:
RUN R -e 'sparklyr::spark_install("2.4.3")'
代替:
RUN Rscript -e 'sparklyr::spark_install("2.4.3")'
但它仍然会引发错误。我们还尝试安装不同版本的 Spark 以查看是否可行,但仍然没有运气。有谁知道我为什么会收到此错误以及如何在 docker 中使用 sparklyr 正确安装 spark?谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。