背景
网上搜索ubuntu 20.04安装arrow的教程,大多是源码编译。决定自己实操下另一种方法
安装指定的版本(9.0.0为例)
因为之前不小心安装了别的版本(16.0.1),所以以下步骤是先删掉原来有的包,再安装9.0.0版本
删掉原本安装的apach arrow
sudo apt purge -y libarrow-dev # For C++
sudo apt purge -y gir1.2-arrow-1.0
sudo apt purge -y libarrow-glib-dev # For GLib (C)
sudo apt purge -y libarrow-dataset-dev # For Apache Arrow Dataset C++
sudo apt purge -y libarrow-dataset-glib-dev # For Apache Arrow Dataset GLib (C)
sudo apt purge -y libarrow-acero-dev # For Apache Arrow Acero
sudo apt purge -y libarrow-flight-dev # For Apache Arrow Flight C++
sudo apt purge -y libarrow-flight-glib-dev # For Apache Arrow Flight GLib (C)
sudo apt purge -y libarrow-flight-sql-dev # For Apache Arrow Flight SQL C++
sudo apt purge -y libarrow-flight-sql-glib-dev # For Apache Arrow Flight SQL GLib (C)
sudo apt purge -y libgandiva-dev # For Gandiva C++
sudo apt purge -y libgandiva-glib-dev # For Gandiva GLib (C)
sudo apt purge -y libparquet-dev # For Apache Parquet C++
sudo apt purge -y libparquet-glib-dev # For Apache Parquet GLib (C)
指定安装9.0.0版本
(这里装某些包之前可能会缺少一些依赖库,需要根据实际环境进行调整)
sudo apt install -y -V libarrow-dev=9.0.0-1 # For C++ ~
sudo apt install -y -V gir1.2-arrow-1.0=9.0.0-1
sudo apt install -y -V libarrow-glib-dev=9.0.0-1 # For GLib (C) ~
sudo apt install -y -V libparquet-dev=9.0.0-1
sudo apt install -y -V libarrow-dataset-dev=9.0.0-1 # For Apache Arrow Dataset C++
sudo apt install -y -V gir1.2-arrow-dataset-1.0=9.0.0-1
sudo apt install -y -V libarrow-dataset-glib-dev=9.0.0-1 # For Apache Arrow Dataset GLib (C)
sudo apt install -y -V libarrow-acero-dev=12.0.0-1 # For Apache Arrow Acero # 没有9.0.0版本,找了个最低的
sudo apt install -y -V libarrow-flight-dev=9.0.0-1 # For Apache Arrow Flight C++
sudo apt install -y -V gir1.2-arrow-flight-1.0=9.0.0-1
sudo apt install -y -V libarrow-flight-glib-dev=9.0.0-1 # For Apache Arrow Flight GLib (C)
sudo apt install -y -V libarrow-flight-sql-dev=9.0.0-1 # For Apache Arrow Flight SQL C++
sudo apt install -y -V gir1.2-arrow-flight-sql-1.0=9.0.0-1
sudo apt install -y -V libarrow-flight-sql-glib-dev=9.0.0-1 # For Apache Arrow Flight SQL GLib (C)
sudo apt install -y -V libgandiva-dev=9.0.0-1 # For Gandiva C++
sudo apt install -y -V gir1.2-gandiva-1.0=9.0.0-1
sudo apt install -y -V libgandiva-glib-dev=9.0.0-1 # For Gandiva GLib (C)
sudo apt install -y -V gir1.2-parquet-1.0=9.0.0-1
sudo apt install -y -V libparquet-glib-dev=9.0.0-1 # For Apache Parquet GLib (C)
装完之后看下有没有装成功。举例:
dpkg -l libarrow-dev
安装最新的版本
请注意这个方法只能装最新的版本。。。。虽然页面写的9.0.0,但是提供的永远是最新版本
1. 使用命令下载源
方法一:跟着官网的命令下载(我没实操)
sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
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
方法二:手动去官网下载源(我实操了,没问题)
地址:Apache Arrow 9.0.0 Release | Apache Arrow
再次强调,虽然页面写的9.0.0,但是执行官方的命令,安装的永远是当前最新版本
这一步打开网站要点时间。(不过不用科学上网)
打开后如下,下载:apache-arrow-apt-source-latest-focal.deb
为啥下载这个?主要参考了官网的安装那条命令
本机执行了下:
lsb_release --codename --short
执行结果是focal,所以我就下载了apache-arrow-apt-source-latest-focal.deb
2. 按照官网的步骤进行命令行安装
地址:Installation | Apache Arrow
这里我已经下载好了deb包,所以我们从安装deb包本身开始执行:
sudo apt install -y -V ./apache-arrow-apt-source-latest-focal.deb
sudo apt update
sudo apt install -y -V libarrow-dev # For C++
sudo apt install -y -V libarrow-glib-dev # For GLib (C)
sudo apt install -y -V libarrow-dataset-dev # For Apache Arrow Dataset C++
sudo apt install -y -V libarrow-dataset-glib-dev # For Apache Arrow Dataset GLib (C)
sudo apt install -y -V libarrow-acero-dev # For Apache Arrow Acero
sudo apt install -y -V libarrow-flight-dev # For Apache Arrow Flight C++
sudo apt install -y -V libarrow-flight-glib-dev # For Apache Arrow Flight GLib (C)
sudo apt install -y -V libarrow-flight-sql-dev # For Apache Arrow Flight SQL C++
sudo apt install -y -V libarrow-flight-sql-glib-dev # For Apache Arrow Flight SQL GLib (C)
sudo apt install -y -V libgandiva-dev # For Gandiva C++
sudo apt install -y -V libgandiva-glib-dev # For Gandiva GLib (C)
sudo apt install -y -V libparquet-dev # For Apache Parquet C++
sudo apt install -y -V libparquet-glib-dev # For Apache Parquet GLib (C)