Použití uživatelsky definovaných funkcí v Sparku
Viděl/a jsi část síly vestavěných řetězcových funkcí Sparku při práci s DataFrames. Jakmile ale zpracování dat dosáhne určité složitosti, začne se z kódu stávat nepřehledné klubko vnořených volání funkcí. Právě tady se hodí uživatelsky definované funkce (UDF), které ti pomůžou s manipulací DataFrames.
V tomto cvičení budeš pracovat s DataFramem voter_df a nahradíš sloupec first_name kombinací křestního jména a prostředního jména.
Knihovna pyspark.sql.functions je dostupná pod aliasem F. Třídy z pyspark.sql.types jsou již naimportované.
Toto cvičení je součástí kurzu
Cleaning Data with PySpark
Pokyny k cvičení
- Uprav funkci
getFirstAndMiddle()tak, aby vracela řetězec jmen oddělených mezerou — vše kromě posledního prvku v seznamu jmen. - Definuj funkci jako uživatelsky definovanou funkci (UDF). Návratový typ by měl být řetězec.
- Vytvoř nový sloupec
first_and_middle_namev DataFramuvoter_dfpomocí své UDF. - Zobraz DataFrame.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
def getFirstAndMiddle(names):
# Return a space separated string of names
return ' '.join(____)
# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)
# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))
# Show the DataFrame
____