Build with (drivers, SDKs, programmatic APIs)
- JDBC Driver — type-4 JDBC for Java/BI apps; 64-bit, Java 8+; multiple JAR flavors.
- ODBC Driver — Windows/macOS/Linux installers; PUT/GET support by cloud.
- Python Connector — PEP-249 driver; `pip install snowflake-connector-python
- Node.js Driver — async JS API; PUT/GET supported from specific versions.
-
.NET / Go / PHP PDO — official drivers for C#, Go (
database/sql), PHP PDO. - SQL API (REST) — submit/cancel SQL and fetch results over HTTPS; OAuth/key-pair.
- Snowflake REST APIs (resource mgmt) — OpenAPI endpoints to manage Snowflake objects.
Connect from (ingest / stream / ELT)
- Snowpipe Streaming — programmatic, low-latency row ingest.
- Kafka Connector — Kafka Connect sink (Confluent/OSS) to Snowflake; supports Snowpipe/Streaming.
- Spark Connector — read/write Spark DataFrames with pushdown to Snowflake.
Orchestration & DevOps
- Airflow Provider — hooks/operators/sensors; default conn
snowflake_default.
- Terraform Provider — IaC to manage warehouses, roles, grants, etc.; officially supported v2+.
- dbt on Snowflake — dbt projects managed via Snowflake CLI & “dbt Projects on Snowflake.”
BI & Analytics
- Power BI — native connector (GA); supports Microsoft Entra SSO and ADBC-based v2.0 impl.
- Tableau — native Snowflake connector; OAuth/PrivateLink options; proxy/warehouse guidance.
“Which should I use?” (quick decision flow)
- Running SQL in an app/service → pick a language driver (Python/Node/.NET/Go/JDBC/ODBC). If you can’t install drivers or want a polyglot HTTP path, use the SQL API (REST).
- Need sub-second streaming ingest → if you already have Kafka Connect, use the Kafka Connector; otherwise, go direct with Snowpipe Streaming.
- On Spark/Databricks → Spark Connector for pushdown; consider Snowpark/dbt on Snowflake to move transforms into Snowflake.
- Orchestrate & manage infra → Airflow for pipelines; Terraform for Snowflake objects; dbt Projects on Snowflake for governed transforms.
- BI consumption → Power BI or Tableau native connectors with OAuth/SSO as needed.