Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Docker上安装libparquet dev,以便我可以使用R';s{arrow}?_R_Docker_Parquet_Apache Arrow - Fatal编程技术网

如何在Docker上安装libparquet dev,以便我可以使用R';s{arrow}?

如何在Docker上安装libparquet dev,以便我可以使用R';s{arrow}?,r,docker,parquet,apache-arrow,R,Docker,Parquet,Apache Arrow,我的docker图像基于https://hub.docker.com/r/rocker/tidyverse/dockerfile 因此,我尝试在docker文件中添加以下行,以尝试安装libparquet dev,这是使用R中的箭头所必需的 运行apt-get-update-qq&&apt-get-y--无安装建议安装\ libparquet开发公司 它抱怨E:找不到libparquet dev包,所以我试着按照下面的行添加 RUN apt update && \

我的docker图像基于
https://hub.docker.com/r/rocker/tidyverse/dockerfile

因此,我尝试在docker文件中添加以下行,以尝试安装
libparquet dev
,这是使用R中的箭头所必需的

运行apt-get-update-qq&&apt-get-y--无安装建议安装\
libparquet开发公司
它抱怨
E:找不到libparquet dev
包,所以我试着按照下面的行添加

RUN apt update && \
        apt install -y -V apt-transport-https gnupg lsb-release wget && \
        wget -O /usr/share/keyrings/apache-arrow-keyring.gpg https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-keyring.gpg && \
        sudo tee /etc/apt/sources.list.d/apache-arrow.list <<APT_LINE \
        deb [arch=amd64 signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg] https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main \
        deb-src [signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg] https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main \
        APT_LINE  && \
        apt update && \
        apt install -y -V libarrow-dev && \
        apt install -y -V libarrow-glib-dev && \ 
        apt install -y -V libarrow-flight-dev && \
        apt install -y -V libplasma-dev && \
        apt install -y -V libplasma-glib-dev && \
        apt install -y -V libgandiva-dev && \
        apt install -y -V libgandiva-glib-dev && \
        apt install -y -V libparquet-dev  && \
        apt install -y -V libparquet-glib-dev
那么如何在Docker上安装
libparquet dev

编辑 将上述内容放入一个.sh文件中,然后运行该文件,而不是将其放入一个run命令中,似乎会有所帮助,但我现在遇到另一个错误

以下包具有未满足的依赖项:
libplasma-dev:依赖于:libarrow-cuda-dev(=0.15.1-1),但不会安装它
取决于:libplasma15(=0.15.1-1),但不会安装它
E:无法纠正问题,您持有的是破损的包裹。

首先,这是错误的Docker语法

  • 将指令放在
    .sh
    文件中,然后运行该文件

  • 将安装缩短到下面,以便只安装
    libparquet dev
    ,而不安装所有其他组件

  • 2019-11-13 03:56:56 (116 KB/s) - ‘/usr/share/keyrings/apache-arrow-keyring.gpg’ saved [44156/44156]
    
    tee: 'signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg]': No such file or directory
    tee: 'https://dl.bintray.com/apache/arrow/debian/': No such file or directory
    tee: '[signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg]': No such file or directory
    tee: 'https://dl.bintray.com/apache/arrow/debian/': No such file or directory
    
    apt update
    apt install -y -V apt-transport-https curl gnupg lsb-release
    tee /etc/apt/sources.list.d/backports.list <<APT_LINE
    deb http://deb.debian.org/debian $(lsb_release --codename --short)-backports main
    APT_LINE
    curl --output /usr/share/keyrings/apache-arrow-keyring.gpg https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-keyring.gpg
    tee /etc/apt/sources.list.d/apache-arrow.list <<APT_LINE
    deb [arch=amd64 signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg] https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main
    deb-src [signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg] https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main
    APT_LINE
    curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
    tee /etc/apt/sources.list.d/llvm.list <<APT_LINE
    deb http://apt.llvm.org/$(lsb_release --codename --short)/ llvm-toolchain-$(lsb_release --codename --short)-7 main
    deb-src http://apt.llvm.org/$(lsb_release --codename --short)/ llvm-toolchain-$(lsb_release --codename --short)-7 main
    APT_LINE
    apt update
    apt install -y -V libparquet-dev
    
    FROM rocker/tidyverse
    
    COPY create-parquet.sh create-parquet.sh
    
    RUN chmod +x ./create-parquet.sh
    
    RUN ./create-parquet.sh
    
    RUN install2.r --error \
        --deps TRUE \
        disk.frame \
        arrow
    
    RUN R -e "arrow::install_arrow()"
    
    CMD ["R"]