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.

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.