COF-C03 Question 118
Select 21.6 Explain AI/ML and application development featuresA retail company stores sales and customer interaction data in Snowflake and wants to let data scientists build machine learning models without moving data out of Snowflake. At the same time, the application team needs to build custom data processing logic that runs close to the data and can be invoked from SQL. Which Snowflake features should the company use to meet BOTH requirements with the least data movement and operational overhead?
- A
Use Snowpark ML for model development and use Snowpark-based stored procedures or user-defined functions (UDFs) for custom application logic
- B
Export the data to an external ML platform for training, and use external functions for all in-database processing logic
- C
Use Streams and Tasks to train machine learning models directly, and use secure views for custom procedural logic
- D
Use Snowflake Cortex AI functions for AI-powered SQL use cases and Snowpark for custom code execution close to the data
- E
Replicate the data into a separate OLTP database for application development, and use materialized views for machine learning inference
Show answer and explanation
Correct answers: A, D
Explanation
The best answers are options 1 and 4 because they align with Snowflake's native capabilities for AI/ML and application development. Snowpark enables developers and data scientists to work with data inside Snowflake using supported languages and to build stored procedures and UDFs that execute close to the data. Snowpark ML supports machine learning workflows without requiring large-scale data export. Snowflake Cortex adds built-in AI functions callable from SQL for common AI use cases. In contrast, Streams, Tasks, secure views, and materialized views serve other purposes such as orchestration, access control, and performance optimization rather than core ML development. Snowflake documentation for Snowpark, Snowpark ML, and Cortex emphasizes reducing data movement, using code execution near the data, and simplifying AI application development.
- A. Correct.
Correct. Snowpark ML is designed to support machine learning workflows in Snowflake, helping data scientists work with data in place instead of exporting it to another platform. Snowpark also enables developers to write stored procedures and UDFs in supported languages so custom logic can execute close to the data and be invoked from SQL. This combination directly addresses both the ML and application development requirements while minimizing data movement.
- B. Incorrect.
Incorrect. Exporting data to an external ML platform increases data movement and operational complexity, which conflicts with the scenario's goal. External functions are useful for calling external services from Snowflake, but they are not the primary feature for implementing all custom in-database processing logic. Snowpark is the more appropriate Snowflake-native capability for application logic running close to the data.
- C. Incorrect.
Incorrect. Streams and Tasks are used for change tracking and orchestration/scheduling, not for training machine learning models by themselves. Secure views provide controlled data access, but they do not implement procedural business logic. This option confuses orchestration and governance features with AI/ML and development features.
- D. Correct.
Correct. Snowflake Cortex provides AI functions accessible from SQL for common generative AI and language-based use cases, allowing teams to add AI capabilities without managing external models or moving data. Snowpark complements this by enabling custom application code to run near the data. Together, these features support AI/ML-related use cases and application development with low operational overhead.
- E. Incorrect.
Incorrect. Replicating data into a separate OLTP database increases data movement and creates unnecessary architectural complexity. Materialized views improve query performance for specific query patterns, but they are not a machine learning feature and do not provide model training or general inference capabilities. This option does not align with Snowflake best practices for keeping data-centric processing in Snowflake.