adbc_datafusion

Crates.ioadbc_datafusion
lib.rsadbc_datafusion
version0.20.0
created_at2025-05-06 00:53:45.933082+00
updated_at2025-09-12 12:47:20.299952+00
descriptionADBC driver for Apache DataFusion
homepagehttps://arrow.apache.org/adbc/
repositoryhttps://github.com/apache/arrow-adbc
max_upload_size
id1661750
size121,204
David Li (lidavidm)

documentation

http://docs.rs/adbc_datafusion/

README

ADBC Driver for Apache DataFusion

Vendor: Apache DataFusion Implementation: Rust Status: Experimental

crates.io: adbc_datafusion

Example Usage

use adbc_core::driver_manager::ManagedDriver;
use adbc_core::options::AdbcVersion;
use adbc_core::{Connection, Database, Driver, Statement};
use arrow_cast::pretty::print_batches;
use arrow_array::RecordBatch;

fn main() {
    let mut driver = ManagedDriver::load_dynamic_from_name(
        "adbc_datafusion",
        Some(b"DataFusionDriverInit"),
        AdbcVersion::V110,
    )
    .unwrap();

    let database = driver.new_database().unwrap();

    let mut connection = database.new_connection().unwrap();

    let mut statement = connection.new_statement().unwrap();
    let _ = statement.set_sql_query("SELECT 'world' AS Hello");

    let batches: Vec<RecordBatch> = statement.execute().unwrap().map(|b| b.unwrap()).collect();

    print_batches(&batches).unwrap();
}

FFI

Build with the ffi feature to export this driver as a C driver.

Commit count: 2024

cargo fmt