快速入门

在这里,我们将简要介绍如何将 ADBC 与 DataFusion 驱动程序一起使用。

安装

添加 adbc_coreadbc_datafusion 的依赖项

cargo add adbc_core adbc_datafusion

加载 DataFusion

创建一个驱动程序实例,然后是一个数据库句柄,最后是一个连接。(这对于 DataFusion 这样的东西来说有点多余,但其目的是数据库句柄可以保存多个连接可以共享的共享状态。)

// These traits must be in scope
use adbc_core::{Connection, Database, Driver, Statement};

let mut driver = adbc_datafusion::DataFusionDriver {};
let db = driver.new_database().expect("Failed to create database handle");
let mut conn = db.new_connection().expect("Failed to create connection");

运行查询

要运行查询,我们可以创建一个语句并设置一个查询

let mut stmt = conn.new_statement().expect("Failed to create statement");
stmt.set_sql_query("SELECT 1").expect("Failed to set SQL query");

然后我们可以执行查询以获取一个 Arrow RecordBatchReader

let reader = stmt.execute().expect("Failed to execute statement");
for batch in reader {
    let batch = batch.expect("Failed to read batch");
    println!("{:?}", batch);
}