Installation¶
Note
See individual driver pages in the sidebar for specific installation instructions.
Source¶
The latest source release can be downloaded from the Apache mirrors. Compilation instructions can be found in CONTRIBUTING.md.
C/C++¶
Install the appropriate driver package. You can use conda-forge, apt
or dnf
.
conda-forge:
mamba install libadbc-driver-flightsql
mamba install libadbc-driver-postgresql
mamba install libadbc-driver-sqlite
You can use apt
on the following platforms:
Debian GNU/Linux bookworm
Ubuntu 22.04
Prepare the Apache Arrow APT repository:
sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
sudo 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
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
rm ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
Install:
sudo apt install libadbc-driver-flightsql-dev
sudo apt install libadbc-driver-postgresql-dev
sudo apt install libadbc-driver-sqlite-dev
sudo apt install libadbc-driver-snowflake-dev
You can use dnf
on the following platforms:
AlmaLinux 8
Oracle Linux 8
Red Hat Enterprise Linux 8
AlmaLinux 9
Oracle Linux 9
Red Hat Enterprise Linux 9
Prepare the Apache Arrow Yum repository:
sudo dnf install -y epel-release || sudo dnf install -y oracle-epel-release-el$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1) || sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
sudo dnf install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
sudo dnf config-manager --set-enabled epel || :
sudo dnf config-manager --set-enabled powertools || :
sudo dnf config-manager --set-enabled crb || :
sudo dnf config-manager --set-enabled ol$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)_codeready_builder || :
sudo dnf config-manager --set-enabled codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-rhui-rpms || :
sudo subscription-manager repos --enable codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-$(arch)-rpms || :
Install:
sudo dnf install adbc-driver-flightsql-devel
sudo dnf install adbc-driver-postgresql-devel
sudo dnf install adbc-driver-sqlite-devel
sudo dnf install adbc-driver-snowflake-devel
Then they can be used via CMake, e.g.:
find_package(AdbcDriverPostgreSQL)
# ...
target_link_libraries(myapp PRIVATE AdbcDriverPostgreSQL::adbc_driver_postgresql_shared)
Go¶
Add a dependency on the driver package, for example:
go get -u github.com/apache/arrow-adbc/go/adbc@latest
go get -u github.com/apache/arrow-adbc/go/adbc/driver/flightsql@latest
Java¶
Add a dependency on the driver package, for example:
org.apache.arrow.adbc:adbc-driver-flight-sql
org.apache.arrow.adbc:adbc-driver-jdbc
Python¶
Install the appropriate driver package.
Note
To use the DBAPI interface, pyarrow
is also required.
For example, from PyPI:
pip install adbc-driver-flightsql
pip install adbc-driver-postgresql
pip install adbc-driver-snowflake
pip install adbc-driver-sqlite
From conda-forge:
mamba install adbc-driver-flightsql
mamba install adbc-driver-postgresql
mamba install adbc-driver-snowflake
mamba install adbc-driver-sqlite
R¶
Install the appropriate driver package from CRAN:
install.packages("adbcsqlite")
install.packages("adbcpostgresql")
install.packages("duckdb")
Drivers not yet available on CRAN can be installed from GitHub:
# install.packages("pak")
pak::pak("apache/arrow-adbc/r/adbcflightsql")
pak::pak("apache/arrow-adbc/r/adbcsnowflake")
Ruby¶
Install the appropriate driver package for C/C++. You can use it from Ruby.