DuckDB 支持

适用于: C/C++,GLib/Ruby,Go,Python,R

DuckDB版本 0.8.0 起提供 ADBC 支持。

注意

DuckDB 不是 Apache Arrow 项目的一部分,是单独开发的。

安装

参见 DuckDB 文档.

用法

DuckDB 中的 ADBC 支持需要驱动程序管理器。

您必须在您的 LD_LIBRARY_PATH 上或在运行此命令时与可执行文件相同的目录中拥有 libduckdb.so。这需要 CGO 并加载 DuckDB 驱动程序。

import (
   "context"

   "github.com/apache/arrow-adbc/go/adbc"
   "github.com/apache/arrow-adbc/go/adbc/drivermgr"
)

func main() {
   var drv drivermgr.Driver
   db, err := drv.NewDatabase(map[string]string{
      "driver": "libduckdb.so",
      "entrypoint": "duckdb_adbc_init",
   })
   if err != nil {
      // handle error
   }
   defer db.Close()

   cnxn, err := db.Open(context.Background())
   if err != nil {
      // handle error
   }
   defer cnxn.Close()
}

您必须拥有 DuckDB 0.9.1 或更高版本。

参见 DuckDB Python 文档.

您必须拥有 DuckDB 0.9.1 或更高版本。

# install.packages("duckdb")
library(adbcdrivermanager)
db <- adbc_database_init(duckdb::duckdb_adbc(), ...)

支持的功能

DuckDB 中的 ADBC 支持仍在开发中。有关详细信息,请参阅 duckdb/duckdb#7141