The correct answer is A. To return a tabular value for each input row.
A User-Defined Table Function, or UDTF, returns a set of rows instead of a single scalar value. This is different from a scalar UDF, which returns one value for each input row.
Why A is correct:
A UDTF produces tabular output. It can return multiple rows and multiple columns, depending on how the function is defined.
Example concept:
SELECT *
FROM TABLE(my_udtf(input_column));
This syntax shows that the function result is treated like a table.
Why the other options are incorrect:
B. Returning a pandas Series is associated with vectorized Python UDF behavior, not the general definition of a UDTF.
C. Returning one output row as a single column or value describes a scalar UDF, not a table function.
D. Processing input rows as pandas DataFrames is associated with Snowpark Python and vectorized processing patterns, but it is not the basic Snowflake definition of a UDTF.
Official Snowflake documentation reference:
Snowflake documentation defines a UDTF as a user-defined function that returns tabular results. It can return multiple rows for each input row.
[Reference: Snowflake Documentation — User-defined table functions; Snowflake Documentation — User-defined functions; SnowPro Core Study Guide — SQL and Snowflake Objects., , ========================, ]
Submit