COF-C03 Question 241
Single answer3.3 Identify the different Snowflake Connectors and integrationsA data engineering team wants to let Python-based data science notebooks read and write Snowflake tables, while a separate Java application must execute SQL statements and retrieve result sets from Snowflake. The architects want to use supported Snowflake-provided integration methods that are designed for these client languages rather than building custom REST wrappers. Which combination of integrations should they choose?
- A
Use the Snowflake Connector for Python for the notebooks and the Snowflake JDBC Driver for the Java application
- B
Use Snowpipe for the notebooks and External Functions for the Java application
- C
Use the Snowflake Connector for Kafka for the notebooks and the Snowflake ODBC Driver for the Java application
- D
Use Streams for the notebooks and Tasks for the Java application
Show answer and explanation
Correct answer: A
Explanation
This question tests the ability to identify appropriate Snowflake connectors and integrations for real client application scenarios. Snowflake provides language- and platform-specific connectivity options such as the Snowflake Connector for Python and drivers like JDBC and ODBC. In this scenario, Python notebooks should use the Snowflake Connector for Python, and the Java application should use the Snowflake JDBC Driver. Other Snowflake integrations mentioned in the distractors serve different purposes: Snowpipe is for automated ingestion, the Kafka connector is for Kafka-based streaming pipelines, External Functions let Snowflake call external services, and Streams/Tasks are native data pipeline features within Snowflake. This aligns with Snowflake documentation on drivers, connectors, and ingestion/integration features.
- A. Correct.
Correct. The Snowflake Connector for Python is the supported client connector for Python applications and notebooks to connect to Snowflake, run queries, and interact with data. For Java applications, the Snowflake JDBC Driver is the standard supported integration for executing SQL and processing results through Java database connectivity APIs.
- B. Incorrect.
Incorrect. Snowpipe is used for continuous data ingestion, typically loading files from cloud storage into Snowflake. External Functions allow Snowflake SQL to call external services; they are not a general client connectivity mechanism for a Java application to submit queries and fetch result sets.
- C. Incorrect.
Incorrect. The Snowflake Connector for Kafka is intended for streaming data between Kafka and Snowflake, not for interactive Python notebook access. The ODBC Driver can connect applications to Snowflake, but for a Java application the more natural and standard supported choice is JDBC rather than ODBC.
- D. Incorrect.
Incorrect. Streams and Tasks are native Snowflake objects for change tracking and scheduling/automation inside Snowflake. They are not client connectors for Python notebooks or Java applications.