Bird
Raised Fist0
Snowflakecloud~10 mins

User-defined functions with Snowpark in Snowflake - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a simple Python UDF in Snowpark that adds 1 to the input.

Snowflake
from snowflake.snowpark.functions import udf

@udf

def add_one(x):
    return x [1] 1
Drag options to blanks, or click blank then click option'
A/
B-
C*
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction instead of addition.
Using multiplication or division which changes the value differently.
2fill in blank
medium

Complete the code to register the UDF with Snowflake using Snowpark session.

Snowflake
session.udf.register(add_one, name=[1], is_permanent=True, replace=True)
Drag options to blanks, or click blank then click option'
AaddOneFunction
B'addOneFunction'
C"addOneFunction"
DaddOneFunction()
Attempts:
3 left
💡 Hint
Common Mistakes
Not using quotes around the function name.
Calling the function instead of passing the name as a string.
3fill in blank
hard

Fix the error in the UDF definition to handle NULL inputs safely.

Snowflake
from snowflake.snowpark.types import IntegerType

@udf(return_type=[1])
def safe_add_one(x):
    if x is None:
        return None
    return x + 1
Drag options to blanks, or click blank then click option'
AIntegerType()
BStringType()
CFloatType()
DBooleanType()
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong return type like string or boolean.
Not specifying return type causing errors.
4fill in blank
hard

Fill both blanks to create a UDF that concatenates two strings with a space.

Snowflake
from snowflake.snowpark.types import StringType

@udf(return_type=[1])
def concat_with_space(a, b):
    return a [2] ' ' + b
Drag options to blanks, or click blank then click option'
AStringType()
B+
C*
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong return type like IntegerType.
Using multiplication or subtraction instead of plus for strings.
5fill in blank
hard

Fill all three blanks to create a UDF that filters rows where the input number is greater than 10 and returns the number squared.

Snowflake
from snowflake.snowpark.types import IntegerType

@udf(return_type=[1])
def filter_and_square(x):
    if x [2] 10:
        return x [3] 2
    return None
Drag options to blanks, or click blank then click option'
AIntegerType()
B>
C**
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using less than operator instead of greater than.
Using multiplication instead of exponentiation for square.
Wrong return type causing errors.

Practice

(1/5)
1. What is the main purpose of user-defined functions (UDFs) in Snowflake using Snowpark?
easy
A. To manage user permissions and roles
B. To create new database tables automatically
C. To run custom code inside Snowflake and reuse logic
D. To monitor Snowflake account usage

Solution

  1. Step 1: Understand what UDFs do

    User-defined functions let you write your own code to run inside Snowflake, which helps reuse logic.
  2. Step 2: Identify the main purpose

    UDFs simplify queries by encapsulating custom logic, not managing tables, permissions, or monitoring.
  3. Final Answer:

    To run custom code inside Snowflake and reuse logic -> Option C
  4. Quick Check:

    UDFs = Custom code reuse [OK]
Hint: UDFs run your own code inside Snowflake [OK]
Common Mistakes:
  • Thinking UDFs create tables
  • Confusing UDFs with security roles
  • Assuming UDFs monitor usage
2. Which of the following is the correct way to define a simple Python UDF in Snowpark that adds 10 to an integer input?
easy
A. def add_ten(x): return x + 10
B. def add_ten(x): x + 10
C. def add_ten(x): print(x + 10)
D. def add_ten(x): return x - 10

Solution

  1. Step 1: Check function syntax

    A Python function must use 'return' to output a value; def add_ten(x): return x + 10 correctly returns x + 10.
  2. Step 2: Verify logic correctness

    def add_ten(x): return x + 10 adds 10 to input x, matching the requirement; others either miss return or subtract.
  3. Final Answer:

    def add_ten(x): return x + 10 -> Option A
  4. Quick Check:

    Return correct value with 'return' keyword [OK]
Hint: Always use 'return' to output from Python UDFs [OK]
Common Mistakes:
  • Omitting the return statement
  • Using print instead of return
  • Returning wrong calculation
3. Given this Snowpark Python UDF code:
def multiply_by_two(x):
    return x * 2

result = multiply_by_two(5)

What is the value of result?
medium
A. 5
B. None
C. 25
D. 10

Solution

  1. Step 1: Understand the function logic

    The function multiplies input x by 2 and returns the result.
  2. Step 2: Calculate the function output for input 5

    5 multiplied by 2 equals 10, so result is 10.
  3. Final Answer:

    10 -> Option D
  4. Quick Check:

    5 * 2 = 10 [OK]
Hint: Multiply input by 2 to get output [OK]
Common Mistakes:
  • Confusing multiplication with addition
  • Assuming function returns None without return
  • Mistaking input for output
4. You wrote this Snowpark Python UDF:
def square(x):
    x * x

When you run it, you get no output. What is the problem?
medium
A. Function name is invalid
B. Missing return statement to output the result
C. Syntax error due to missing colon
D. Input parameter x is not defined

Solution

  1. Step 1: Check function syntax

    The function lacks a 'return' statement, so it does not output any value.
  2. Step 2: Understand Python function behavior

    Without 'return', the function returns None by default, causing no output.
  3. Final Answer:

    Missing return statement to output the result -> Option B
  4. Quick Check:

    Functions need 'return' to output values [OK]
Hint: Always include 'return' to output from functions [OK]
Common Mistakes:
  • Assuming last expression auto-returns
  • Thinking function name causes error
  • Confusing missing colon with missing return
5. You want to create a Snowpark Python UDF that returns the length of a string only if it is not empty; otherwise, it returns 0. Which function correctly implements this?
hard
A. def str_length(s): if s: return len(s) else: return 0
B. def str_length(s): return len(s) if s != '' else 0
C. def str_length(s): if s == '': return len(s) else: return 0
D. def str_length(s): return len(s) or 0

Solution

  1. Step 1: Understand the condition for empty string

    Empty strings are falsy in Python, so 'if s:' checks if string is not empty.
  2. Step 2: Verify correct return values

    If string is not empty, return its length; else return 0. def str_length(s): if s: return len(s) else: return 0 matches this logic exactly.
  3. Final Answer:

    def str_length(s): if s: return len(s) else: return 0 -> Option A
  4. Quick Check:

    Check string truthiness to decide length [OK]
Hint: Use 'if s:' to check non-empty string [OK]
Common Mistakes:
  • Checking 's != \"\"' crashes on None
  • Returning length for empty string incorrectly
  • Using 'or' without proper condition
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard