ADBC Snowflake Driver
raw JSON → 1.11.0 verified Fri May 01 auth: no python
An ADBC (Arrow Database Connectivity) driver for Snowflake, enabling high-performance data transfer using Apache Arrow. Version 1.11.0 requires Python >=3.10.
pip install adbc-driver-snowflake Common errors
error ImportError: cannot import name 'connect' from 'adbc_driver_snowflake' ↓
cause Trying to import connect from the top-level module instead of submodule dbapi.
fix
Use: from adbc_driver_snowflake import dbapi; conn = dbapi.connect(...)
error Exception: No suitable driver found ↓
cause Missing ADBC driver manager or incorrect installation of the Snowflake driver.
fix
pip install adbc-driver-manager adbc-driver-snowflake
error pyarrow.lib.ArrowNotImplementedError: Unsupported cast from string to int64 using function cast ↓
cause Incompatible schema or types between Snowflake and Arrow; often due to NULL handling.
fix
Ensure Snowflake columns are typed appropriately; use CAST in SQL if needed.
Warnings
breaking The driver is not a DB-API 2.0 module directly; you must use the .dbapi submodule. Direct import of adbc_driver_snowflake does not expose connect() ↓
fix Use from adbc_driver_snowflake import dbapi, then dbapi.connect()
gotcha Connection string must include warehouse as a query parameter; omitted warehouse may lead to errors about virtual warehouse not specified. ↓
fix Append ?warehouse=my_wh to the Snowflake URL.
gotcha The driver only supports Arrow data; fetching results via .fetchall() returns a list of Arrow arrays, not plain Python objects. Use fetch_arrow_batch() to get a RecordBatch. ↓
fix Use .fetch_arrow_batch() or .fetch_arrow_table() for pandas conversion.
Imports
- adbc_driver_snowflake wrong
import adbc_driver_snowflake.dbapicorrectimport adbc_driver_snowflake
Quickstart
import adbc_driver_snowflake.dbapi
conn = adbc_driver_snowflake.dbapi.connect(
'snowflake://user:pass@account/database/schema?warehouse=warehouse_name'
)
cur = conn.cursor()
cur.execute("SELECT 1 AS col")
print(cur.fetch_arrow_batch().to_pandas())