ADBC Catalog Connector
Connect to any database via ADBC (Arrow Database Connectivity) as a catalog provider for federated SQL query. The ADBC Catalog Connector uses the ADBC metadata API to automatically discover schemas and tables from the connected database.
Prerequisites​
An ADBC-compatible driver must be installed on the system where Spice runs. See the ADBC Data Connector for driver installation instructions.
Configuration​
catalogs:
- from: adbc
name: my_catalog
include:
- 'my_schema.*' # include all tables from my_schema
params:
adbc_driver: bigquery
adbc_uri: "bigquery:///my-gcp-project"
from​
The from field is used to specify the catalog provider. For ADBC, specify adbc.
name​
The name field specifies the name of the catalog in Spice. Tables from the ADBC-connected database will be available under this catalog name in Spice. The schema hierarchy of the external database is preserved in Spice.
include​
Use the include field to specify which tables to include from the catalog. The include field supports glob patterns to match multiple tables. For example, *.my_table_name would include all tables with the name my_table_name from any schema. Multiple include patterns are OR'ed together and can be specified to include multiple tables.
params​
The following parameters are supported:
| Parameter Name | Description |
|---|---|
adbc_driver | Required. The ADBC driver name (e.g., bigquery, trino, snowflake, redshift, duckdb, postgres). |
adbc_driver_path | Optional. Absolute path to the ADBC driver shared library. If not specified, the driver is loaded by name. |
adbc_uri | Required. Database URI/connection string for the ADBC driver. |
adbc_username | Optional. Username for database authentication. |
adbc_password | Optional. Password for database authentication. |
adbc_driver_options | Optional. Semicolon-delimited driver-specific database options (e.g., key1=value1;key2=value2). |
connection_pool_size | Optional. Maximum number of connections in the connection pool. Default: 5. |
connection_pool_min_idle | Optional. Minimum number of idle connections to keep open in the pool. Default: 1. |
Examples​
BigQuery​
catalogs:
- from: adbc
name: bq_catalog
include:
- 'my_dataset.*'
params:
adbc_driver: bigquery
adbc_uri: "bigquery:///my-gcp-project"
adbc_driver_options: >-
adbc.bigquery.sql.dataset_id=my_dataset
Snowflake​
catalogs:
- from: adbc
name: sf_catalog
include:
- 'PUBLIC.*'
params:
adbc_driver: snowflake
adbc_uri: ${secrets:snowflake_uri}
adbc_username: ${secrets:snowflake_user}
adbc_password: ${secrets:snowflake_pass}
