What you will be able to do
- Tell a Snowflake-provided connector apart from a generic driver or a processing framework
- Describe what the Kafka and Spark connectors do and how each one plugs into its host system
- Explain why the Snowflake Connector for Python does not depend on JDBC or ODBC
- Put the setup steps for the Snowflake Connector for ServiceNow in order, and know what the supplied documentation leaves out about the Google Analytics connector
Key concept
Connector versus driver — A Snowflake connector is built for one specific system, such as a Kafka topic, a Spark cluster or a SaaS application, and it moves that system's data into or out of Snowflake. A driver is general-purpose: any application that speaks its standard can use it to connect and send SQL.
1.Sorting the ecosystem: connectors, drivers and frameworks
Exam questions on Snowflake's ecosystem often give you a list of tools and ask which ones belong to a category. So the first job is sorting. Snowflake provides connectors that are each tied to one outside system. The Kafka connector takes records from Kafka topics and writes them to tables. The Spark connector lets a Spark cluster use Snowflake as a data source. The Snowflake Connector for ServiceNow pulls data out of the ServiceNow SaaS application. Each one is named after the system it serves, and its job is to move data between that system and Snowflake.
Drivers are a different category. The JDBC and ODBC drivers aren't tied to any source system. Any client tool that supports the standard can use them to open a session and run SQL. The Snowflake Connector for Python sits awkwardly in this scheme. It's called a connector, but it behaves like a driver: a general interface for Python applications. Frameworks such as Snowpark are a third category. They aren't about connecting at all. They're about processing data where it already lives.
This page covers the connectors. Drivers, APIs, command-line clients and Snowpark are covered separately.
Checkpoint 1 of 6· Check yourself
An architect needs a Snowflake-provided component whose only purpose is to read records from Apache Kafka topics and land them in a Snowflake table. Which component fits?
The Kafka connector is the native connector built for exactly this job: it reads Kafka topics and loads them into Snowflake tables. The other options are generic connectivity tools or belong to a different ecosystem.
“reads data from one or more Apache Kafka topics and loads the data into a Snowflake table.”Source: docs.snowflake.com
Sources1
2.Snowflake Connector for Kafka
The Snowflake Connector for Kafka, usually just called the Kafka connector, links an Apache Kafka deployment to Snowflake. It can read from one topic or several, and it writes what it reads into a Snowflake table. You don't need custom consumer code.
The documentation's table of contents shows what operating the connector involves. Besides installation and configuration, there are separate guides for managing the connector, monitoring it through Java Management Extensions (JMX), loading protobuf data, using it with Apache Iceberg tables, and troubleshooting. There is also a separate mode called Snowflake Connector for Kafka with Snowpipe Streaming classic. How Snowpipe Streaming itself ingests data belongs to the topic on choosing a loading method, not here.
The supplied overview doesn't describe the connector's offset handling, fault tolerance or delivery guarantees. If a question asks about those, the material here can't settle it. Read the connector's own overview and troubleshooting pages instead of guessing.
Checkpoint 2 of 6· Exam question
A retail company runs a Kafka Connect cluster and wants clickstream events landing in Snowflake within seconds of production, without staging files on disk first. Which architectural choice matches this requirement?
Correct answer: A — Configure the Snowflake Connector for Kafka to use the Snowpipe Streaming ingestion path so rows are written directly without intermediate staged files.
- A. This is correct because the Kafka connector's Snowpipe Streaming mode writes rows directly to Snowflake's ingestion service without buffering to an internal stage first, which is what achieves near-real-time, sub-file-based latency for the clickstream.
- B. The default Snowpipe-based mode buffers messages into stage files on time, memory, or count thresholds before triggering ingestion, which adds the staging latency the scenario explicitly wants to avoid.
- C. The JDBC driver is a SQL connectivity driver for applications and BI tools, not a Kafka consumer, and per-row `INSERT` statements against a warehouse are not how the Kafka connector or any supported ingestion path handles topic consumption.
- D. Routing through a separate Spark job with five-minute micro-batches introduces exactly the batch latency the requirement rules out, and it duplicates functionality the Kafka connector already provides natively.
Checkpoint 3 of 6· Check yourself
A team wants to watch the health of a running Kafka connector. Which monitoring approach does Snowflake document for the connector?
One of the connector's documentation topics is monitoring through JMX. SYSTEM$ALLOWLIST returns network hosts and ports, not connector health.
“Monitoring the Kafka connector using Java Management Extensions (JMX)”Source: docs.snowflake.com
Sources1
3.Snowflake Connector for Spark
The Spark connector works in the opposite direction from the Kafka connector. Rather than pushing a stream into Snowflake, it brings Snowflake into Spark. A Spark job can read Snowflake tables and write results back, and from the job's point of view Snowflake is just another data source, alongside PostgreSQL, HDFS or S3. The connector runs as a Spark plugin and is shipped as a Spark package named spark-snowflake. Snowflake documents setup for Databricks and Qubole as well as plain Spark.
Which connector version you need depends on your Spark version:
| Connector line | Supported Spark versions | Packaging model |
|---|---|---|
| Spark Connector 2.x | 3.2, 3.3 and 3.4 | A separate connector build for each Spark version |
| Spark Connector 3.x | 3.2, 3.3, 3.4, 3.5, 4.0 and 4.1 | Each package supports most Spark versions |
Governance needs a minimum version too. Snowflake can enforce row access and masking policies on Apache Iceberg tables that Spark queries through Snowflake Horizon Catalog. For that to work, the Spark connector has to connect to Snowflake to evaluate the policies, which requires connector version 3.1.6 or later. The documentation also lists Snowpark Connect for Spark as an alternative to the Spark connector. Don't confuse that product with Snowpark itself, which is covered on its own page.
Checkpoint 4 of 6· Check yourself
A security team requires that masking policies on Iceberg tables are enforced when analysts query those tables from Apache Spark through Horizon Catalog. What is the minimum Spark connector requirement?
Enforcement works by having the connector call Snowflake to evaluate the policies, and that capability requires version 3.1.6 or later.
“To enable this enforcement, you must install 3.1.6 or a later version of the Spark connector.”Source: docs.snowflake.com
Sources2
4.Snowflake Connector for Python
Despite its name, the Python connector isn't linked to any source system. It's a general interface that lets a Python application connect to Snowflake and perform all standard operations. The documentation is not entirely consistent about the label: it is named a connector, yet Snowflake's own pages also refer to it as a driver, and one page describes it as a SQL driver you use to execute SQL statement strings and get results in a Python client. Snowflake presents it as a programming alternative to writing the same application in Java or C/C++ against the JDBC or ODBC drivers. It's a native, pure Python package, so it has no JDBC or ODBC dependency, and you install it with pip on Linux, macOS or Windows.
It follows the Python Database API v2 specification (PEP-249). In practice you work with two standard objects. Connection objects connect to Snowflake, and Cursor objects run DDL/DML statements and queries. Snowflake names SnowSQL, its command-line client, as an example of an application developed using this connector. One documented limitation to watch for in design questions: the connector doesn't currently support GCP regional endpoints.
Checkpoint 5 of 6· Check yourself
Which PEP-249 object does a Python application use to execute DDL/DML statements and queries through the Snowflake Connector for Python?
Under PEP-249, Connection objects establish the link to Snowflake, and Cursor objects run statements and queries over it.
“Cursor objects for executing DDL/DML statements and queries.”Source: docs.snowflake.com
5.Application connectors: ServiceNow and Google Analytics
The last group of connectors pulls data from SaaS applications. The Snowflake Connector for ServiceNow allows Snowflake to ingest data from ServiceNow. It doesn't run on an outside cluster the way the Kafka and Spark connectors do. It runs against objects in your own Snowflake account, and you create those objects before installing it:
- a secret - a security integration of type = api_authentication - an API integration - a database to hold the ingested data - a warehouse for the connector to use - account roles that control access to these objects
Because these are ordinary account objects, they can be replicated. Snowflake documents a cross-account pattern: create the objects, replicate them to the target account, then install the connector in that target account. The connector itself can't be replicated. It must be installed in the target account because its installation depends on a share that Snowflake provides. During installation you create a database from that share, and a database created from a share can't be replicated.
The Snowflake Connector for Google Analytics comes in two named variants in the supplied material: Snowflake Connector for Google Analytics Aggregate Data and Snowflake Connector for Google Analytics Raw Data. Like the ServiceNow connector, they are delivered as app listings through Snowflake Marketplace, and they appear on the list of connectors that Virtual Private Snowflake (VPS) customers are allowed to consume. The supplied documentation doesn't describe how either variant is set up or what data each one loads, so check the connector's own Snowflake documentation for that, and don't assume it works exactly like the ServiceNow connector.
Checkpoint 6 of 6· Check yourself
In a cross-account setup, the secret, integrations, database and roles for the ServiceNow connector are replicated to the target account. Why must the connector itself still be installed in the target account rather than replicated?
Installing the connector means creating a database from a share that Snowflake provides. Databases created from shares can't be replicated, so the connector is installed in the target account after the prerequisite objects have been replicated.
“The connector must be installed in the target account because the installation depends on a share that Snowflake provides.”Source: docs.snowflake.com
Exam traps
Each one states something that sounds right. Open it to see what is actually true.
1.The Snowflake Connector for Python is a thin wrapper around the ODBC or JDBC driver, so you have to install one of those drivers first.Why is that wrong?
The Python connector is pure Python with no JDBC or ODBC dependency. You install it with pip by itself.
Covered in Snowflake Connector for Python
2.Any version of the Spark connector will enforce Snowflake row access and masking policies on Iceberg tables that Spark queries.Why is that wrong?
Policy enforcement for Iceberg tables queried through Horizon Catalog requires Spark connector version 3.1.6 or later.
Covered in Snowflake Connector for Spark
Sources
Every claim above is drawn from one of these pages, quoted as it was written on the date shown.
- 1.
“reads data from one or more Apache Kafka topics and loads the data into a Snowflake table.”
↩︎ Sorting the ecosystem: connectors, drivers and frameworks“Snowflake Connector for Kafka with Snowpipe Streaming classic”
↩︎ Snowflake Connector for Kafka“Monitoring the Kafka connector using Java Management Extensions (JMX)”
↩︎ Snowflake Connector for Kafka“reads data from one or more Apache Kafka topics and loads the data into a Snowflake table.”
↩︎ Key concept - 2.
“brings Snowflake into the Apache Spark ecosystem, enabling Spark to read data from, and write data to, Snowflake.”
↩︎ Snowflake Connector for Spark“The connector runs as a Spark plugin and is provided as a Spark package (spark-snowflake).”
↩︎ Snowflake Connector for Spark“You can also use Snowpark Connect for Spark as an alternative to the Snowflake Connector for Spark.”
↩︎ Snowflake Connector for Spark“To enable this enforcement, you must install 3.1.6 or a later version of the Spark connector.”
↩︎ Exam trap 2“To enable this enforcement, you must install 3.1.6 or a later version of the Spark connector.”
↩︎ Checkpoint - 3.
“It provides a programming alternative to developing applications in Java or C/C++ using the Snowflake JDBC or ODBC drivers.”
↩︎ Snowflake Connector for Python“This driver currently does not support GCP regional endpoints.”
↩︎ Snowflake Connector for Python“SnowSQL, the command-line client provided by Snowflake, is an example of an application developed using the connector.”
↩︎ Snowflake Connector for Python“The connector is a native, pure Python package that has no dependencies on JDBC or ODBC.”
↩︎ Exam trap 1“The connector is a native, pure Python package that has no dependencies on JDBC or ODBC.”
↩︎ Prediction“Cursor objects for executing DDL/DML statements and queries.”
↩︎ Checkpoint - 4.https://docs.snowflake.com/en/developer-guide/snowflake-python-api/snowflake-python-overviewOfficial docs
“Use this SQL driver to connect to Snowflake, execute SQL statements, and then get the results using a Python client.”
↩︎ Snowflake Connector for Python - 5.
“The Snowflake Connector for ServiceNow allows Snowflake to ingest data from ServiceNow.”
↩︎ Application connectors: ServiceNow and Google Analytics“Security integration of type = api_authentication.”
↩︎ Application connectors: ServiceNow and Google Analytics“The connector must be installed in the target account because the installation depends on a share that Snowflake provides.”
↩︎ Application connectors: ServiceNow and Google Analytics - 6.
“Snowflake Connector for Google Analytics Aggregate Data Snowflake Connector for Google Analytics Raw Data”
↩︎ Application connectors: ServiceNow and Google Analytics“VPS customers (providers and consumers) can only consume app listings for allowlisted connector listings.”
↩︎ Application connectors: ServiceNow and Google Analytics