Snowflake SPS-C01 Exam Overview:
| Certification Vendor: | Snowflake |
| Exam Name: | SnowPro Advanced: Snowpark Developer Certification Exam |
| Exam Number: | SPS-C01 |
| Available Languages: | English |
| Real Exam Qty: | 60-70 |
| Exam Price: | $375 USD |
| Exam Duration: | 115 minutes |
| Related Certifications: | SnowPro Core Certification |
| Exam Format: | Multiple choice, Multiple select |
| Certificate Validity Period: | 2 years |
| Recommended Training: | Snowflake University Snowpark Courses Snowpark Documentation |
| Exam Registration: | Snowflake Certification Portal Snowflake Training & Registration |
| Sample Questions: | Snowflake SPS-C01 Sample Questions |
| Exam Way: | Online proctored exam |
| Pre Condition: | Recommended: SnowPro Core Certification and practical experience with Snowflake and Python. |
| Official Syllabus URL: | https://www.snowflake.com/training/certification/ |
Snowflake SPS-C01 Exam Syllabus Topics:
| Section | Objectives |
|---|---|
| User Defined Functions and Stored Procedures | - Extending Snowpark with custom logic
|
| DataFrame Operations and Data Processing | - Data transformation workflows
|
| Performance Optimization and Best Practices | - Efficient Snowpark execution
|
| Testing, Debugging, and Deployment | - Production readiness
|
| Snowpark Fundamentals | - Snowpark architecture and concepts
|
| Data Engineering with Snowpark | - Pipeline development
|
Snowflake Certified SnowPro Specialty - Snowpark Sample Questions:
1. You have two Snowpark DataFrames: 'employees_df with columns 'employee_id' (INTEGER), 'employee_name' (STRING), 'department_id' (INTEGER), and 'salaries_df' with columns 'employee_id' (INTEGER), "salary' (FLOAT), 'effective_date' (DATE). You need to create a new DataFrame that contains the employee's name, department, and the highest salary they have ever received. Assuming there can be multiple salary entries for the same employee with different 'effective date' values, which of the following Snowpark code snippets would correctly and efficiently solve this problem?
A)
B)
C)
D)
E) 
2. You are developing a Snowpark application that uses a UDF written in Python. This UDF requires several third-party Python packages (e.g., 'pandas', 'scikit-learn'). You need to ensure these packages are available in the UDF's execution environment within Snowflake. You have the packages listed in a 'requirements.txt' file. Which of the following methods, alone or in combination, correctly provision these dependencies for the UDF? (Select all that apply)
A) Upload the 'requirements.txt file to a Snowflake stage and specify the stage location in the 'imports' argument of the '@udf decorator.
B) Manually install the packages on the Snowflake compute warehouse nodes using SSH.
C) Include the packages directly in the '@udf decorator's 'packages' argument as strings (e.g., 'scikit-learnT).
D) Create a Conda environment with the required packages and upload the resulting environment file to a Snowflake stage. Specify the stage location in the 'conda_integration' argument of the 'session.udf.register' method or guff decorator.
E) Use the 'session.add_packages' method to add the packages programmatically before registering the UDF.
3. Consider the following Snowpark Python code snippet that retrieves data and calculates aggregate values, however, the application performance is slow when you are fetching dataframe, given the 'block' parameter controls the synchronous/asynchronous behavior of the 'collect()' method. Choose ALL the statements about "session.create_dataframe([rowl ,row2],schema)' that are correct:
A) The 'block' parameter has no influence on performance when creating dataframes, and hence the performance is mainly based on query optimization and ware house size.
B) Snowflake warehouse size has no influence on dataframe creation, so if the dataframe is large and 'block=True' it will block the performance.
C) Consider replacing the call of 'collect()' with and converting Snowpark dataframe to Pandas dataframe. The dataframe operations could be efficient.
D) Increasing warehouse size of Snowflake will increase performance irrespective of the fact whether block is True or False.
E) The method, when executed with default 'block=True' , will wait for the result to be available before proceeding to the other statements in the code and hence performance is low. However, makes it asynchronous.
4. You are using Snowpark Python to transform a large DataFrame containing customer transaction data'. You need to persist the resulting DataFrame as a new Snowflake table named 'CUSTOMER TRANSACTIONS AGGREGATED', replacing the existing table if it exists. You want to explicitly define the schema of the new table to ensure data types are correctly enforced. Which of the following code snippets achieves this most efficiently and correctly?
A)
B)
C)
D)
E) 
5. You're designing a Snowpark application to process large CSV files containing sensor data'. Each CSV file has millions of rows, and you need to calculate aggregate statistics (e.g., average, min, max) for specific sensor readings. The processing needs to be highly parallelized for performance. You have the following code snippet (incomplete):
Which of the following code snippets, when inserted at the ' ??? Add code here to calculate aggregate statistics ??? ' marker, would correctly calculate the average, minimum, and maximum readings for a column named 'sensor value' and return the result in a new Snowpark DataFrame?
A)
B)
C)
D)
E) 
Solutions:
| Question # 1 Answer: D | Question # 2 Answer: C,D,E | Question # 3 Answer: E | Question # 4 Answer: E | Question # 5 Answer: C |

We're so confident of our products that we provide no hassle product exchange.


By Giles


