DuckDB 支援

適用於: C/C++、GLib/Ruby、Go、Python、R

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