Skip to content

Installing a Driver Manager

In order to use any of the drivers you install with dbc, you need to install a driver manager for your language of choice.

The best place to find detailed information on driver manager installation is always the ADBC docs but we've included concise steps for a variety of languages here for convenience:

$ uv pip install adbc_driver_manager pyarrow
$ pip install adbc_driver_manager pyarrow
$ conda install -c conda-forge adbc-driver-manager pyarrow
install.packages("adbcdrivermanager")
$ go get github.com/apache/arrow-adbc/go/adbc/drivermgr
$ bundle add red-adbc
$ gem install red-adbc
$ cargo add adbc_core adbc_driver_manager
$ conda install -c conda-forge libadbc-driver-manager
$ # Set up 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 libadbc-driver-manager-dev
$ sudo apt install libadbc-driver-manager-dev
$ # Set up 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 libadbc-driver-manager-devel
$ sudo dnf install adbc-driver-manager-devel

To use the Java ADBC driver manager in a Maven project, add the driver manager and JNI driver packages:

<dependency>
    <groupId>org.apache.arrow.adbc</groupId>
    <artifactId>adbc-driver-manager</artifactId>
    <version>${adbc.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.arrow.adbc</groupId>
    <artifactId>adbc-driver-jni</artifactId>
    <version>${adbc.version}</version>
</dependency>

Note that with the above you'll also need to set an adbc.version property to an appropriate version.