Closed tschm closed 5 years ago
Exactly how it is said on the installation instructions for arrow (following either the Debian or the Ubuntu directions as we have containers for both). You need the underlying C++-level libraries for their apt repos, and once present, arrow
installed with an actual functioning core rather just an outer shell.
I think we can close this as it is not really a Rocker question, but more 'how do I use a complicated package on Linux' question.
Thank you for your quick reply. I have managed to install arrow in a Rocker image. Didn't succeed with plasma yet but I was only after parquet. Here's a Dockerfile based on rocker...
FROM rocker/rstudio:3.6.1
# see https://arrow.apache.org/install/
# rocker/rstudio is based on debian
RUN apt update && \
apt install -y -V apt-transport-https curl gnupg lsb-release apt-utils locate
RUN echo "deb http://deb.debian.org/debian $(lsb_release --codename --short)-backports main" >> /etc/apt/sources.list.d/backports.list && \
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 && \
echo "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" >> /etc/apt/sources.list.d/apache-arrow.list && \
echo "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" >> /etc/apt/sources.list.d/apache-arrow.list && \
curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && \
echo "deb http://apt.llvm.org/$(lsb_release --codename --short)/ llvm-toolchain-$(lsb_release --codename --short)-7 main" >> /etc/apt/sources.list.d/llvm.list && \
echo "deb-src http://apt.llvm.org/$(lsb_release --codename --short)/ llvm-toolchain-$(lsb_release --codename --short)-7 main" >> /etc/apt/sources.list.d/llvm.list
RUN apt update && \
apt install -y -V -f \
libarrow-dev \
libarrow-glib-dev \
libarrow-flight-dev \
libparquet-dev \
libparquet-glib-dev \
libxml2-dev
# this doesn't quite work yet
# RUN apt install -y -V -f \
# #libarrow-cuda-dev \
# libplasma-dev \
# libplasma-glib-dev \
# libgandiva-dev \
# libgandiva-glib-dev
RUN install2.r --error \
--deps TRUE \
arrow
Sounds good. You will have to talk to the Arrow folks about your plasma issues.
I'll close this as we don't have a Rocker issue here.
Fantastic product. I wonder what's the most elegant way to install arrow within a rocker image. I find https://github.com/apache/arrow/blob/master/r/README.md somewhat terse for people without a professional sys-admin background :-) Your help is very appreciated...