驅動程式實施狀態

警告

在 macOS x86_64 上使用兩個由 Go 編寫的驅動程式於同一程序時存在一個已知問題(除非是在純 Go 應用程式中工作),使用第二個驅動程式可能會導致崩潰。有關更多詳細資訊,請參閱 GH-1841

注意

支援 C/C++ 的驅動程式也可以在 C#、GLib、Go、Python、R、Ruby 和 Rust 中使用,無論其實現語言為何。

驅動程式狀態

實驗性 (Experimental) 驅動程式功能尚不完善,開發工作仍在進行中。測試版 (Beta) 驅動程式(基本)功能完善,但釋出時間較短。穩定版 (Stable) 驅動程式(基本)功能完善(在底層資料庫允許的最大範圍內),且已釋出/測試了一段時間。

功能支援

供應商

實現

驅動程式狀態

軟體包 [1]

Apache Arrow Flight SQL

C#

測試版

NuGet

Apache Arrow Flight SQL

Go

穩定版

conda-forge (adbc-driver-flightsql, libadbc-driver-flightsql), PyPI, R-multiverse

Apache Arrow Flight SQL

Java

測試版

Maven

Apache DataFusion

Rust

實驗性

crates.io

Apache Hive

C#

實驗性

Apache Impala

C#

實驗性

Apache Spark

C#

實驗性

Databricks

C#

實驗性

DuckDB [2]

C/C++

穩定版

conda-forge, PyPI

Google BigQuery

C#

測試版

NuGet

Google BigQuery

Go

實驗性

conda-forge (adbc-driver-bigquery, libadbc-driver-bigquery), PyPI, R-multiverse

JDBC

Java

測試版

Maven

PostgreSQL

C/C++

穩定版

conda-forge (adbc-driver-postgresql, libadbc-driver-postgresql), CRAN, PyPI

SQLite

C/C++

穩定版

conda-forge (adbc-driver-sqlite, libadbc-driver-sqlite), CRAN, PyPI

Snowflake

Go

穩定版

conda-forge (adbc-driver-snowflake, libadbc-driver-snowflake), crates.io, Go, NuGet, PyPI, R-multiverse

功能支援

N/A 表示底層資料庫無法支援此功能。

有關完整詳細資訊,請參閱各個驅動程式的文件頁面。

批次攝取

驅動程式是否支援 批次資料攝入(從 Arrow 表建立或追加到資料庫表)?

資料庫元資料

驅動程式是否支援諸如 AdbcConnectionGetObjects() 等獲取資料庫目錄元資料等資訊的函式?

引數化查詢

驅動程式是否支援繫結查詢引數?

分割槽資料

能夠讀取(通常是分散式)結果集的各個分片(AdbcStatementExecutePartitions())。

預處理語句

驅動程式是否支援繫結查詢引數?

完整型別支援

驅動程式是否儘可能將所有資料庫型別與等效的 Arrow 型別進行相互對映?

查詢選擇 (Select Queries)

驅動程式是否支援返回結果集的查詢?

SQL

驅動程式是否支援提交 SQL 查詢?

事務

驅動程式是否支援顯式事務(預設為自動提交)?

Substrait

驅動程式是否支援提交 Substrait 計劃?

查詢更新 (Update Queries)

驅動程式是否支援不返回結果集的查詢?

常規功能

驅動程式

完整型別支援

SQL

Substrait

Flight SQL (Go)

Flight SQL (Java)

JDBC

N/A

PostgreSQL

N/A

SQLite

N/A

語句/查詢級功能

驅動程式

增量查詢

分割槽資料

引數化查詢

預處理語句

查詢選擇 (Select Queries)

查詢更新 (Update Queries)

Flight SQL (Go)

Flight SQL (Java)

JDBC

N/A

N/A

PostgreSQL

N/A

N/A

[3]

SQLite

N/A

N/A

連線/資料庫級功能

驅動程式

批次攝取

資料庫元資料(目錄等)

事務

Flight SQL (Go)

Flight SQL (Java)

JDBC

PostgreSQL

SQLite