DuckDB 支持

语言:C/C++ 状态:稳定

DuckDB0.8.0 版本开始提供 ADBC 支持。

注意

DuckDB 不属于 Apache Arrow 项目,它是独立开发的。

安装

请参阅 DuckDB 文档

用法

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

请参阅 DuckDB C++ 文档

你必须将 libduckdb.so 放置在你的 LD_LIBRARY_PATH 中,或者在运行此程序时将其放在与可执行文件相同的目录下。这需要 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