Skip to main content

User-defined functions

Prophecy lets you create user-defined functions (UDFs) which can be used anywhere in the Pipeline.

Parameters

ParameterDescriptionRequired
Function nameThe name of the function as it appears in your project.True
UDF NameThe name of the UDF that will register it. All calls to the UDF will use this name.True
DefinitionDefinition of the UDF function.
For example, udf((value:Int)=>value*value)
True
UDF initialization codeCode block that contains initialization of entities used by UDFs. This could, for example, contain any static mapping that a UDF might use.False

Steps

There are a few steps to take to create and use a new UDF.

  1. Create a new function. You can find the Functions section in the left sidebar of a project page.

Add a function to the pipeline

  1. Define the function.

Define the function

  1. Call the function.

Call the function

country_code_map = {"Mexico" : "MX", "USA" : "US", "India" : "IN"}

def registerUDFs(spark: SparkSession):
spark.udf.register("get_country_code", get_country_code)

@udf(returnType = StringType())
def get_country_code(country: str):
return country_code_map.get(country, "Not Found")