DuckDB 支持

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

DuckDB0.8.0 版本起提供 ADBC 支持。

注意

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

安装

请参阅 DuckDB 文档

用法

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

请参阅 DuckDB C++ 文档

运行此程序时,您的 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