📝
red-arrow セットアップ編
はじめに
データ集計をするときは行単位ではなく列単位で処理をしたほうがやりやすい。
pandasのようなデータフレームのライブラリがRubyでないか調べたところ、
red-arrowを見つけました。
セットアップ
Install Apache Arrow GLib before install Red Arrow
gemの他に、マシン自体ににApache Arrow GLibを入れる必要があります。
今回はDockerで環境を立てるので、ruby:3.2.2-slim-bookworm
をベースとしたDockerfileを用意します。
プラットフォームごとにインストール方法が異なるため、適宜読み替えてください。
Dockerfile
FROM ruby:3.2.2-slim-bookworm
ENV LANG=ja_JP.UTF-8
ENV TZ=Asia/Tokyo
RUN apt-get update -qq \
&& apt-get install -y \
build-essential \
libpq-dev \
curl \
sudo \
less \
git \
lsb-release \
wget
# Install for arrow
# see: https://arrow.apache.org/install/
RUN wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
RUN sudo apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
RUN apt-get update -qq \
&& apt-get install -y -V \
libarrow-glib-dev
# libarrow-dev \
# libarrow-dataset-dev \
# libarrow-acero-dev \
# libarrow-flight-dev \
# libarrow-flight-sql-dev \
# libgandiva-dev \
# libparquet-dev
RUN mkdir /app
WORKDIR /app
COPY Gemfile* /app/
RUN bundle install
# Copy application code
COPY . .
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]
一旦はlibarrow-glib-dev
だけインストールしており、
使いたいGemに合わせて同様にインストールしていけば良いようです。
Gemfile
gem 'red-arrow'
おわりに
Railsのサービスで使いたいところもあり、ActiveRecordと組み合わせるところを触っていきたいと思います。
Apache Arrow
のRubyバインディングであるred arrow
を始めとしたデータ分析の機能は、Red-Data-Toolsというプロジェクトで開発されており、ホットなコミュニティなようです。
Discussion