DuckDB 支持¶
适用于: C/C++,GLib/Ruby,Go,Python,R
DuckDB 自 版本 0.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。