| Exam Code | DEA-C01 |
| Exam Name | SnowPro Advanced Data Engineer Certification Exam |
| Vendor | Snowflake |
| Total Questions | 302 |
| Last Updated | 26-Oct, 2026 |
- Latest & Verified Questions
- Detailed Explanations
- Regular Updates
- Full-Length Practice Tests
- Boost Your Exam Confidence
PDF Study Materials
Downloadable guides and resources
Practice Tests
Full-length tests with real exam experience
Progress Tracking
Monitor your performance and improvement
Study Anywhere
Access on desktop, tablet, and mobile
Free DEA-C01 Practice Questions
Explore 5 free practice questions for the Snowflake DEA-C01 exam and review the answers and explanations to support your preparation.
-
Question 1
Single answerDatabase XYZ has the data_retention_time_in_days parameter set to 7 days and table xyz.public.ABC has the data_retention_time_in_days set to 10 days.
A Developer accidentally dropped the database containing this single table 8 days ago and just discovered the mistake.
How can the table be recovered?
-
Option A:Correct
undrop database xyz;
-
Option B:Correct
create -able abc_restore as select * from xyz.public.abc at {offset = > -60*60*24*8};
-
Option C:Correct
create table abc_restore clone xyz.public.abc at (offset = > -3€0G*24*3);
-
Option D:Correct
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: A
Explanation
The table can be recovered by using the undrop database xyz; command. This command will restore the database that was dropped within the last 14 days, along with all its schemas and tables, including the customer table. The data_retention_time_in_days parameter does not affect this command, as it only applies to time travel queries that reference historical data versions of tables or databases. The other options are not valid ways to recover the table. Option B is incorrect because creating a table as select * from xyz.public.ABC at {offset = > -60 60 24 8} will not work, as this query will try to access a historical data version of the ABC table that does not exist anymore after dropping the database. Option C is incorrect because creating a table clone xyz.public.ABC at {offset = > -3600 24*3} will not work, as this query will try to clone a historical data version of the ABC table that does not exist anymore after dropping the database. Option D is incorrect because creating a Snowflake Support case to restore the database and table from fail-safe will not work, as fail-safe is only available for disaster recovery scenarios and cannot be accessed by customers.
-
-
Question 2
Single answerWhen would a Data engineer use table with the flatten function instead of the lateral flatten combination?
-
Option A:Correct
When TABLE with FLATTEN requires another source in the from clause to refer to
-
Option B:Correct
When TABLE with FLATTEN requires no additional source m the from clause to refer to
-
Option C:Correct
When the LATERAL FLATTEN combination requires no other source m the from clause to refer to
-
Option D:Correct
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: A
Explanation
The TABLE function with the FLATTEN function is used to flatten semi-structured data, such as JSON or XML, into a relational format. The TABLE function returns a table expression that can be used in the FROM clause of a query. The TABLE function with the FLATTEN function requires another source in the FROM clause to refer to, such as a table, view, or subquery that contains the semi-structured data. For example:
SELECT t.value:city::string AS city, f.value AS population FROM cities t, TABLE(FLATTEN(input = > t.value:population)) f;
In this example, the TABLE function with the FLATTEN function refers to the cities table in the FROM clause, which contains JSON data in a variant column named value. The FLATTEN function flattens the population array within each JSON object and returns a table expression with two columns: key and value. The query then selects the city and population values from the table expression.
-
-
Question 3
Single answerA secure function returns data coming through an inbound share
What will happen if a Data Engineer tries to assign usage privileges on this function to an outbound share?
-
Option A:Correct
An error will be returned because the Engineer cannot share data that has already been shared
-
Option B:Correct
An error will be returned because only views and secure stored procedures can be shared
-
Option C:Correct
An error will be returned because only secure functions can be shared with inbound shares
-
Option D:Correct
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: A
Explanation
An error will be returned because the Engineer cannot share data that has already been shared. A secure function is a Snowflake function that can access data from an inbound share, which is a share that is created by another account and consumed by the current account. A secure function can only be shared with an inbound share, not an outbound share, which is a share that is created by the current account and shared with other accounts. This is to prevent data leakage or unauthorized access to the data from the inbound share.
-
-
Question 4
Single answerWhile running an external function, me following error message is received:
Error: function received the wrong number of rows
What is causing this to occur?
-
Option A:Correct
External functions do not support multiple rows
-
Option B:Correct
Nested arrays are not supported in the JSON response
-
Option C:Correct
The JSON returned by the remote service is not constructed correctly
-
Option D:Correct
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: D
Explanation
The error message “function received the wrong number of rows” is caused by the return message not producing the same number of rows that it received. External functions require that the remote service returns exactly one row for each input row that it receives from Snowflake. If the remote service returns more or fewer rows than expected, Snowflake will raise an error and abort the function execution. The other options are not causes of this error message. Option A is incorrect because external functions do support multiple rows as long as they match the input rows. Option B is incorrect because nested arrays are supported in the JSON response as long as they conform to the return type definition of the external function. Option C is incorrect because the JSON returned by the remote service may be constructed correctly but still produce a different number of rows than expected.
-
-
Question 5
Multiple answersWhich methods will trigger an action that will evaluate a DataFrame? (Select TWO)
-
Option A:Correct
DataFrame.random_split ( )
-
Option B:Correct
DataFrame.collect ()
-
Option C:Correct
DateFrame.select ()
-
Option D:Correct
DataFrame.col ( )
-
Option E:Correct
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: B, E
Explanation
The methods that will trigger an action that will evaluate a DataFrame are DataFrame.collect() and DataFrame.show(). These methods will force the execution of any pending transformations on the DataFrame and return or display the results. The other options are not methods that will evaluate a DataFrame. Option A, DataFrame.random_split(), is a method that will split a DataFrame into two or more DataFrames based on random weights. Option C, DataFrame.select(), is a method that will project a set of expressions on a DataFrame and return a new DataFrame. Option D, DataFrame.col(), is a method that will return a Column object based on a column name in a DataFrame.
-